Pandas 的實用方法
阿新 • • 發佈:2018-12-27
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 跳過錯誤資料的那一行資料