詳細內容請進入 pandas官網 查閱文獻。python
dtype={'PassengerId':np.float64}
感受比較經常使用的參數通常就這幾個,其餘的若是須要能夠在官網上查找解釋。函數
能夠把表格每一列數據的格式描述出來,eg:code
A float64 B datetime64[ns] C float32 D int32 E category F object dtype: object
把表格的行號列出,包括行號的格式。索引
把表格的列號列出,包括列號的格式。get
把每一列的均值,個數,方差,最大最小值列出。很是方便的函數。pandas
A C D count 4.0 4.0 4.0 mean 1.0 1.0 3.0 std 0.0 0.0 0.0 min 1.0 1.0 3.0 25% 1.0 1.0 3.0 50% 1.0 1.0 3.0 75% 1.0 1.0 3.0 max 1.0 1.0 3.0
能夠給出表格的許多信息,看下面的結果:table
<class 'pandas.core.frame.DataFrame'> RangeIndex: 891 entries, 0 to 890 Data columns (total 12 columns): PassengerId 891 non-null int64 Survived 891 non-null int64 Pclass 891 non-null int64 Name 891 non-null object Sex 891 non-null object Age 714 non-null float64 SibSp 891 non-null int64 Parch 891 non-null int64 Ticket 891 non-null object Fare 891 non-null float64 Cabin 204 non-null object Embarked 889 non-null object dtypes: float64(2), int64(5), object(5) memory usage: 83.6+ KB
''中間的爲列的名字,直接列出選中的列class
很差說直接上代碼:object
df[df['Age']>60][['Sex','Pclass','Age','Survived']] >>> Sex Pclass Age Survived 33 male 2 66.0 0 54 male 1 65.0 0 96 male 1 71.0 0 116 male 3 70.5 0 170 male 1 61.0 0 252 male 1 62.0 0 275 female 1 63.0 1 280 male 3 65.0 0 326 male 3 61.0 0 438 male 1 64.0 0 456 male 1 65.0 0 483 female 3 63.0 1 493 male 1 71.0 0 545 male 1 64.0 0 555 male 1 62.0 0 570 male 2 62.0 1 625 male 1 61.0 0 630 male 1 80.0 1 672 male 2 70.0 0 745 male 1 70.0 0 829 female 1 62.0 1 851 male 3 74.0 0
便是以某一列的值爲條件進行篩選。date
for i in range(4): print(i,len(df[ (df['Sex']=='male') & (df['Pclass']==i)])) >>> 0 0 1 122 2 108 3 347
&
符號表示與,條件有兩個,len()表示長度。
把表格中有nan或者na的行去掉。
pramaters:axis=0,how='any'
還有其餘參數可是並不經常使用。'any'表示只要行或者列出現了nan則把該行或者該列去掉。若是爲'all'表示必須全是nan纔去掉。
表示給nan值填充值。value=0表示給nan填充0值
返回一個列表若是有值爲nan返回True,不然返回False.
A B C D E 2013-01-01 False False False False False 2013-01-02 False False False True False 2013-01-03 False False False False True 2013-01-04 False False False False False 2013-01-05 False False False False False 2013-01-06 False False False False False ## 能夠經過選擇某一列爲Nan的狀況下對其餘數據進行查看 df[df.Age.isnull()].head(5)['Name'] >>> 5 Moran, Mr. James 17 Williams, Mr. Charles Eugene 19 Masselmani, Mrs. Fatima 26 Emir, Mr. Farred Chehab 28 O'Dwyer, Miss. Ellen "Nellie" Name: Name, dtype: object
轉置,即列表的行與列互換。
表示按照標籤來選擇數據。
a.loc['one']則會默認表示選取行爲'one'的行a.loc[:,['a','b']表示選取全部的行以及columns爲a,b的列;
a.loc[['one','two'],['a','b']]表示選取'one'和'two'這兩行以及columns爲a,b的列;
a.loc['one','a']與a.loc[['one'],['a']]做用是同樣的,不過前者只顯示對應的值,然後者會顯示對應的行和列標籤。
表示按照位置進行選擇。
a.iloc[[0,2],[1,2]]
表示選取0行1列和2行2列的數據。
把一個dataframe類型轉化爲numpy的array形式。很簡單
簡單粗暴,把列表裏的某一個值替換爲另外一個值。
df.replace('male',0).head(3)['Sex'] >>> 0 0 1 female 2 female Name: Sex, dtype: object
該函數還有一些其餘參數:regrex,method等,詳細可查閱官網,這裏給出一些經常使用用法。
#選擇某一列對不一樣的值進行不一樣的替換,採用字典嵌套的形式。 encode_setting = {'Embarked':{'S':1, 'C': 2, 'Q': 3, 'Unknown':0}} df.replace(encode_setting).head(3)[['Embarked']] >>> Embarked 0 1.0 1 2.0 2 1.0 #對多個值進行替換 df.replace({'male':1,'female':0}).head(3)[['Sex']] >>> Sex 0 1 1 0 2 0
表示扔掉某一行或者一列,axis指定行或者列,labels指定標籤。labels能夠用列表的方式來給定多個行或者列
能夠計算出每一個取值在列表中出現的次數
能夠按照你所指定的列對其不一樣的值進行分組,很強大的功能,這裏給出代碼更好理解。
df.groupby(['Survived','Pclass']).sum() ## 按照Survived和Pclassd的取值,對其餘的項進行相應的求和操做,不是數值型的不計數 df.groupby(['Survived','Pclass']).size() ## size表示按照Survived和Pclass的取值,進行分別計數。除了size(),還有mean(),max(),min(),std()等 >>> Survived Pclass 0 1 80 2 97 3 372 1 1 136 2 87 3 119 dtype: int64 df.groupby(['Survived','Pclass']).size()[0][1] ## 這裏返回的是一個相似矩陣的存在。[0]表示Survived=0,[1]表示Pclass=1,這裏先後順序和你給出列的順序有關。 >>> 80 ##若是給定的列不止一個,會有多重索引(Multiindex),這裏能夠這樣操做來選取對應的值。 a=df.groupby(['Survived','Sex',]).std() a.index >>> ultiIndex(levels=[[0, 1], ['female', 'male']], labels=[[0, 0, 1, 1], [0, 1, 0, 1]], names=['Survived', 'Sex']) ## 咱們能夠根據levels進行選取 a.xs([0,'female'],level=['Survived','Sex']) >>> PassengerId Pclass Age SibSp Parch Fare Survived Sex 0 female 263.522063 0.450309 13.618591 1.814635 1.391442 24.821287 ## 接下來就能夠根據需求選擇列獲得數值,同時能夠加上.values來將其變爲np.array的形式。這裏的索引有倆個即Survived和Sex,行名就是levels,因此也能夠用loc選擇行和列進行選取
選出給定列中某些值的特定行
df[df['Sex'].isin(['male'])]