定義:pandas是基于NumPy數(shù)組構(gòu)建的,使數(shù)據(jù)預(yù)處理、清洗、分析工作變得更快更簡單。pandas是專門為處理表格和混雜數(shù)據(jù)設(shè)計(jì)的,而NumPy更適合處理統(tǒng)一的數(shù)值數(shù)組數(shù)據(jù)。
import pandas as pd
數(shù)據(jù)結(jié)構(gòu):Series | DataFrame。
Series:pd.Series(list,index=[ ]) 類似于一維數(shù)組的得對(duì)象,是由一組數(shù)據(jù)+一列索引組成??梢允褂们衅?,運(yùn)算等操作,類似于ndarray。
DataFrame:pd.DataFrame(data,columns = [ ],index = [ ]) 是一個(gè)表格形的數(shù)據(jù)類型。常用類型。axis = 1 列 axis = 0 行
數(shù)據(jù)轉(zhuǎn)換:
1:pd.DataFrame(Series) 可以把Series結(jié)構(gòu)變?yōu)镈ataFrame。
2:DataFrame.values 可以把DataFrame結(jié)構(gòu)變?yōu)?一個(gè)numpy 的ndarray。也可以通過索引或者列名獲得一個(gè)Series。df['列名'] 或者 df.列名。
常用方法:
1,df.reset_index(drop=True) 重置索引,會(huì)創(chuàng)建一個(gè)新對(duì)象。默認(rèn)保留原來索引,加上drop=True刪除原來索引。
2,df.set_index() 設(shè)置一列索引。
3,df.drop() 刪除指定行值或列值(axis = 1 列 axis = 0 行,默認(rèn)為行)。
df.drop(index=df[df["價(jià)格"].isnull()].index, inplace=True) # 例如:刪除價(jià)格為空的所有行
4,del df['列'] 刪除一列值。
5,df.dropna() 刪除指定的行或者列 為空 的值。
6,df.drop_duplicated() 刪除重復(fù)值,可指定列,指定保留第一行,或者最后一行。
7,df.loc['行','列'] 通過標(biāo)簽定位數(shù)據(jù),df.iloc[:] 通過索引定位數(shù)據(jù)。
8,df.sort_values('列',axis=0, ascending=True) 排序。Series不需要參數(shù)列,ascending默認(rèn)True升序。
9,df.describe() 快速列出數(shù)據(jù)的概要,多個(gè)維度的匯總統(tǒng)計(jì)。
10,df.info() 索引,數(shù)據(jù)類型,內(nèi)存信息等。
11,df.unique() 返回一個(gè)Series里面唯一值組成的數(shù)組。
12,df.sum() 計(jì)算一列的和。
13,df.count() 計(jì)算非NaN值的總量。
14,df.mean() 計(jì)算一列的平均值。
15,df.median() 計(jì)算一列的中位數(shù)。
16,df.mode() 計(jì)算一列的眾數(shù)。
17,df.var() 計(jì)算一列的方差。
18,df.std() 計(jì)算一列的標(biāo)準(zhǔn)差。
19,df.min() 計(jì)算一列的最小值。
20,df.max() 計(jì)算一列的最大值。
21,df.value_counts() 計(jì)算一列中數(shù)據(jù)出現(xiàn)的頻率。
22,df.groupby() 分組。
23,df.head() 取出數(shù)據(jù)的前幾行。
24,df.tail() 取出數(shù)據(jù)的后幾行。
25,read_csv(),read_excel(),read_sql(),read_json(),read_html() 等.... pandas提供的讀取數(shù)據(jù)方法。
26,to_excel() 寫入excel文件,可以用pd.ExcelWriter()申明對(duì)象存儲(chǔ)多個(gè)sheet。
27,pd.contact() ,pd.append() 行數(shù)據(jù)合并拼接,只在axis = 0上操作。
28,pd.merge() 數(shù)據(jù)關(guān)聯(lián)操作,類sql,可以設(shè)置關(guān)聯(lián)方向:left, right,inner,outer。 join()類merge,但是只能在索引關(guān)聯(lián)。
29,pd.rename(columns={'原名':'修改名'}, inplace = True) 修改列名。
30,df['列'].fillna(0) 把一列里面為空的賦值為0.
31,df['列'].astype(int) 轉(zhuǎn)換一列數(shù)據(jù)類型。
32,df.agg() 指定列或者行上 一個(gè)或者多個(gè)操作數(shù)據(jù)聚合。
33,df.sort_values(by=['列'],ascending=False).groupby(['列']).head(3) 根據(jù)一列排序,并根據(jù)另一列取出前幾行
34,df.insert(1, '列1, 1, allow_duplicates=False) 在指定的位置插入列1
聯(lián)系客服