摘要:常用用法詳細內容請進入官網查閱文獻。常用一般默認為零。可以給出表格的許多信息,看下面的結果常用的處理操作。表示給填充值返回一個列表如果有值為返回否則返回可以通過選擇某一列為的情況下對其他數據進行查看轉置,即列表的行與列互換。
pandas常用用法
詳細內容請進入 pandas官網 查閱文獻。
header : 一般默認為零。表示讀進來的表格以第一行作為列名。其他值也是類似的。
index_col : 表示以什么作為行號。pandas在引入列表的時候默認會以0,1,2,3,4....作為行號。可以指定列表中的某一列作為行號。
usecols : 指定讀進來的列是什么,以列表的形式給出,可以是列號,也可以是[0,1,2]這樣的表示讀進來0,1,2列。
names : 以列表形式給出,表示列號只顯示出給定名稱的列號,其他的隱藏。即你可以指定任一列的列號,可以是你自創的,也可以是列表里本來就有的。
squeeze : 表示如果傳進來的表格只有一列,那么把它壓縮成Serias的形式。默認值是False。
dtype : 指定列的數據形式。eg: dtype={"PassengerId":np.float64}
感覺比較常用的參數一般就這幾個,其他的如果需要可以在官網上查找解釋。
2. 常用表格信息描述函數 df.dtypes可以把表格每一列數據的格式描述出來,eg:
A float64 B datetime64[ns] C float32 D int32 E category F object dtype: objectdf.index
把表格的行號列出,包括行號的格式。
df.columns把表格的列號列出,包括列號的格式。
df.describe()把每一列的均值,個數,方差,最大最小值列出。非常方便的函數。
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.0df.info()
可以給出表格的許多信息,看下面的結果:
3. 常用的datafram處理操作。 df[[" "," ",...]]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
""中間的為列的名字,直接列出選中的列
dfdf.A>50]不好說直接上代碼:
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
即是以某一列的值為條件進行篩選。
多個條件進行篩選。for i in range(4): print(i,len(df[ (df["Sex"]=="male") & (df["Pclass"]==i)])) >>> 0 0 1 122 2 108 3 347
&符號表示與,條件有兩個,len()表示長度。
df.dropna() :把表格中有nan或者na的行去掉。
pramaters:axis=0,how="any"
還有其他參數但是并不常用。"any"表示只要行或者列出現了nan則把該行或者該列去掉。如果為"all"表示必須全是nan才去掉。
表示給nan值填充值。value=0表示給nan填充0值
df.isnull() :返回一個列表如果有值為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: objectdf.T :
轉置,即列表的行與列互換。
df.loc[] :表示按照標簽來選擇數據。
a.loc["one"]則會默認表示選取行為"one"的行df.iloc[] :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列的數據。
df.values :把一個dataframe類型轉化為numpy的array形式。很簡單
df.replace() :簡單粗暴,把列表里的某一個值替換為另一個值。
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 0df.drop(axis,labels) :
表示扔掉某一行或者一列,axis指定行或者列,labels指定標簽。labels可以用列表的方式來給定多個行或者列
value_counts() :可以計算出每個取值在列表中出現的次數
df.groupby :可以按照你所指定的列對其不同的值進行分組,很強大的功能,這里給出代碼更好理解。
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.isin() :
選出給定列中某些值的特定行
df[df["Sex"].isin(["male"])]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/44684.html
摘要:在這里我分享下我個人入門機器學習的經歷,希望能對大家能有所幫助。相關學習鏈接,,入門后的體驗在入門了機器學習之后,在實際工作中,絕大多數的情況下你并不需要去創造一個新的算法。 機器學習在很多眼里就是香餑餑,因為機器學習相關的崗位在當前市場待遇不錯,但同時機器學習在很多人面前又是一座大山,因為發現它太難學了。在這里我分享下我個人入門機器學習的經歷,希望能對大家能有所幫助。 PS:這篇文章...
摘要:知乎專欄歡迎關注我的知乎專欄基礎教程數據處理三中文版來源,張圖覆蓋了幾乎所有常用的用法。 知乎專欄 歡迎關注我的知乎專欄:https://zhuanlan.zhihu.com/geektutu 基礎教程 Pandas 數據處理(三) - Cheat Sheet 中文版 來源,2張圖覆蓋了幾乎所有常用的 Pandas 用法。 Pandas_Cheat_Sheet_中文版.pdf 下載...
閱讀 4707·2021-09-22 16:06
閱讀 2088·2021-09-22 15:22
閱讀 1433·2019-08-30 15:54
閱讀 2524·2019-08-30 15:44
閱讀 2351·2019-08-29 16:31
閱讀 2019·2019-08-29 16:26
閱讀 2339·2019-08-29 12:41
閱讀 742·2019-08-29 12:22