python - 选择数据框中的所有数值并将其转换为熊猫中的 int
问题描述
我有如下数据:
我想将所有数值都设为 int,这里不会有小数。像这样:
我正在使用类似列表的代码:
df=pd.read_csv("file.csv")
df = df.astype('int64')
但它不起作用。因为它在说:
ValueError: Cannot convert NA to integer
因为,我里面有一些 nan 值。第一列第 2 行和第 3 列中也有字符串。我认为解决方案可能是,从数据框中选择所有数值并转换为 int。你能提出什么建议吗?
解决方案
您的数据框中有一些空值。首先,您需要将它们转换为整数(例如此处为 0)。为此使用df.fillna
。然后选择所有数字列。
cols = ["num_col1", "num_col2"]
df[cols] = df[cols].astype("int64")
推荐阅读
- c++ - 在 OpenGL (GLM/C++) 中使用四元数旋转的问题
- assembly - IDIV 组装 x86
- module - 在 FreeRADIUS C 模块中以编程方式将 VSA(供应商特定属性)添加到 Access-Accept 回复
- c# - Linq 查询删除多行而不是一行。非常简单的查询
- python - 如何启动实际浏览器而不是从 geckodriver 测试浏览器?(蟒蛇,硒)
- excel - 根据每月更改的轴标签更新图表上的条形颜色
- elasticsearch - Kibana 数据表中的条件总和指标(小计列)
- c++ - While Loop 在条件 C++ 之前停止工作
- python - Python在字典中打印值的值
- python - Pandas pd.concat() in separate threads shows no speed-up