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')

你可能感兴趣的:(pandas数据处理)