我有字典并使用创建了 Pandas
cars = pd.DataFrame.from_dict(cars_dict, orient='index')
和
对索引进行排序(按字母顺序排列
汽车 = cars.sort_index(axis=1)
排序后,我注意到 DataFrame 有 NaN,但我不确定
如果确实是 np.nan 值?
print(cars.isnull().any()) 并且所有列都显示 false。
我尝试了不同的方法将这些“NaN”值转换为零,这是我想做的,但它们都不起作用。
我尝试过替换和填充方法,但没有任何效果
下面是我的数据框的示例..
speedtest size
toyota 65 NaN
honda 77 800
要么使用replace
or np.where
如果值是字符串:
df = df.replace('NaN', 0)
Or,
df[:] = np.where(df.eq('NaN'), 0, df)
或者,如果它们实际上是 NaN(这似乎不太可能),则使用fillna
:
df.fillna(0, inplace=True)
或者,要同时处理这两种情况,请使用apply
+ pd.to_numeric
(稍微慢一些,但保证在任何情况下都能工作):
df = df.apply(pd.to_numeric, errors='coerce').fillna(0, downcast='infer')
感谢 piRSquared 提供的这个!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)