将包含nan和float 900.0的数据框列(对象)转换为nan和900的最佳方法是什么?
答案 0 :(得分:0)
IIUC: 输入:
df = pd.DataFrame(['1.0','5.0',np.nan,'9.0', '100.0', np.nan, '500.0'], columns=['a'])
a
0 1.0
1 5.0
2 NaN
3 9.0
4 100.0
5 NaN
6 500.0
让我们尝试一下:
pd.to_numeric(df.a).fillna(0).astype(int).astype(str).mask(df.a.isnull())
输出:
0 1
1 5
2 NaN
3 9
4 100
5 NaN
6 500
Name: a, dtype: object