1. 程式人生 > >pandas程式碼常見錯誤及解決方案

pandas程式碼常見錯誤及解決方案

一、讀取資料

1. OSError: Initializing from file failed

pandas讀取檔案報這種錯誤時,一般是因為你的檔名中帶有中文,例如:

res = pd.read_csv('我的檔案.csv')

這種情況就會報錯,只需要這樣更改就可以:

f = open('我的檔案.csv')
res = pd.read_csv(f)

以上原文連結蘆金宇的部落格
不過,我的資料不是中文,也報了這個錯。雖然不明白原因,但是以上程式碼可解決此問題。

二、修改資料

1. 對DataFrame做修改但未生效

當我們對DataFrame做排序、去重等操作時,有時會發現DataFrame其實沒有變化,如下面的程式碼:

df.sort_values('A', ascending=False)
df.drop_duplicates('ID', keep='first')

這其實涉及python的淺複製和深複製的問題,上面的程式碼並沒有更改原來的DataFrame物件,需要新增引數inplace=True,如下:

df.sort_values('A', ascending=False, inplace=True)
df.drop_duplicates('ID', keep='first', inplace=True)

另外,也可以採用手動賦值的方式:

df = df.sort_values('A', ascending=
False) df = df.drop_duplicates('ID', keep='first')