1. 程式人生 > >Pandas 的實用方法

Pandas 的實用方法

1.想要刪除資料中有空數值的一行

df = df.dropna()
print(df)

2.pandas讀取含有中文檔案時

df = pd.read_csv('xxx.csv',delimiter=','
,names=['xxx','xxx'],encoding="utf-8")
print(df)

3.pandas 對index或者某一列進行全體排序

df = df.sort_index(axis=0(or)1,ascending=True(or)False)
axis = 0 #對列(index)排序
axis = 1 #對行(columns)排序
ascending = True #升序(預設升序)
ascending = False #降序

df = df.sort_values(by='列名',ascending=True(or)False)
by = 'colmuns' #列名
ascending = True #升序(預設升序)
ascending = False #降序

df = df.sort(columns=['列名1','列名2']...,ascending=True(or)False)
columns = ['','',''] #可以對多列進行排序
ascending = True #升序(預設升序)
ascending = False #降序

4.pandas 按條件篩選資料

df = df[(df.index == ' 1') & df.xx > 1000]

如果條件有(str)索引 在判斷條件前中加入空格 如: ' 1'

多個條件進行判斷時 用 '&' 符號

5.pandas 刪除某一列資料

df = df.drop(['columns'],axis = 1)
columns = 列名

6.pandas 顯示資料的前幾行或後幾行資料

df = df.head(3)
預設顯示前5行資料,可以通過傳出的引數修改。
比如:上面就顯示前3行資料

df = df.tail(3)
預設顯示後5行資料,可以通過傳出的引數修改。
比如:上面就顯示後3行資料

7.pandas 填寫所有的缺失資料

df = df.fillna(value=5)
將資料中的所以空值賦值為value

8.pandas 獲取請求列的平均值

df = df.mean()
返回所有帶有可計算資料的列的平均值

df = df.xx.mean()
返回具體某一列帶有可計算資料的列的平均值

9.pandas 去重

df = df.drop_duplicates()
將資料中有重複的一行資料進行刪除

傳入['columns']列名引數可以對列進行去重

10.pandas 列元素出現的次數

df.xx.value_counts()
xx = 列名 #統計該列元素出現的次數

11.pandas 列元素大小寫轉換

df.xx.str.lower()
將列元素全部轉換為小寫

df.xx.str.upper()
將列元素全部轉換為大寫

12.pandas 合併

pieces = [df[:3],df[4:5],df[7:9]]

pd.concat(pieces,ignore_index=True(or)False)
將傳入的數值進行合併
ignore_index = True #重新建立索引
ignore_index = False #使用原來的索引

13.pandas fillna暴力

#暴力模式的填補空值

df.fillna(0,inplace=True)

14.pandas SettingCopyWarning警告

#出現這種情況的原因是:衍生出來的DataFrame B 的改變會導致 DataFrame A 的改變

b = a.loc[:,['c','d']]
#解決辦法:

b = a.loc[:,['c','d']].copy()

15.pandas 讀取時跳過錯誤資料

df = pd.read_csv('Test.csv',delimiter=';',error_bad_lines=False)
#error_bad_lines=False 跳過錯誤資料的那一行資料