一本正经胡说八道的猫
df.dropna(axis=0,how='all').reset_index(drop=True)
用pandas删除空白行,没有用inplace=True
,导致原数据一直保存不变,影响接下来的处理步骤,一直报错,最后搞了半天,才发现是这个原因。
所以,Mark一下,提醒自己。
pandas中dropna()参数详解
1.axis参数确定是否删除包含缺失值的行或列
axis=0或axis='index’删除含有缺失值的行,
axis=1或axis='columns’删除含有缺失值的列,
2.how参数当我们至少有一个NA时,确定是否从DataFrame中删除行或列
how='all’或者how=‘any’。
how='all’时表示删除全是缺失值的行(列)
how='any’时表示删除只要含有缺失值的行(列)
3.thresh=n表示保留至少含有n个非na数值的行
4.subset定义要在哪些列中查找缺失值
5.inplace表示直接在原DataFrame修改
另外还有一个参数。
reset_index用来重置索引,因为有时候对dataframe做处理后索引可能是乱的。
drop=True就是把原来的索引index列去掉,重置index。
drop=False就是保留原来的索引,添加重置的index。
两者的区别就是有没有把原来的index去掉。
此外还有一个参数:inplace
inplace=False(默认)表示原数组不变,对数据进行修改之后结果给新的数组。
inplace=True表示直接在原数组上对数据进行修改。
网友评论