假设我有以下 CSV 数据:
col1,col2,col3,label
,1,2,label1
3,,4,label2
5,6,7,label3
读取此数据并将浮点型的 col1 和 col2 转换为 int 的最佳方法是什么。
我可以使用 this并转换我过滤后的数据框,它只有数字列(col1、col2、col3)。如何修改主数据框本身而忽略字符串标签列?
在相关说明中,我还可以使用以下命令。知道如何在循环中运行它以便动态生成变量名称 col%d,因为我有 32 列。
filter_df.col1 = filter_df.col1.fillna(0).astype(int)
请您参考如下方法:
使用select_dtypes使用 np.number:
print (filter_df)
col1 col2 col3 label
0 NaN 1.0 2 NaN
1 3.0 NaN 4 label2
2 5.0 6.0 7 label3
cols = filter_df.select_dtypes(np.number).columns
filter_df[cols] = filter_df[cols].fillna(0).astype(int)
print (filter_df)
col1 col2 col3 label
0 0 1 2 NaN
1 3 0 4 label2
2 5 6 7 label3
