小编ozz*_*zzy的帖子

Fillna在Python Pandas中的多个列中

我有一个混合类型的pandas dataFrame,有些是字符串,有些是数字.我想用'.'替换字符串列中的NAN值,并将浮点列中的NAN值替换为0.

考虑这个小小的虚构示例:

df = pd.DataFrame({'Name':['Jack','Sue',pd.np.nan,'Bob','Alice','John'],
    'A': [1, 2.1, pd.np.nan, 4.7, 5.6, 6.8],
    'B': [.25, pd.np.nan, pd.np.nan, 4, 12.2, 14.4],
    'City':['Seattle','SF','LA','OC',pd.np.nan,pd.np.nan]})
Run Code Online (Sandbox Code Playgroud)

现在,我可以用3行代码完成:

df['Name'].fillna('.',inplace=True)
df['City'].fillna('.',inplace=True)
df.fillna(0,inplace=True)
Run Code Online (Sandbox Code Playgroud)

由于这是一个小数据帧,3行可能没问题.在我的实际例子中(由于数据机密性原因,我不能在这里分享),我有更多的字符串列和数字列.所以我最终只为fillna写了很多行.这样做有简洁的方法吗?

python dataframe pandas

24
推荐指数
3
解决办法
2万
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1