python - 将列从 float 转换为 int 时收到 KeyError

标签 python pandas dataframe type-conversion

使用 read_csv 创建了 pandas 数据框。

然后,我将第 0 列的列名称从 'Unnamed' 更改为 'Experiment_Number'

此列中的值是 float ,我一直在尝试使用以下方法将它们转换为整数:

df['Experiment_Number'] = df['Experiment_Number'].astype(int)

我收到此错误:

KeyError: 'Experiment_Number'

从昨天开始我已经尝试了各种方法,例如也

df['Experiment_Number'] = df.astype({'Experiment_Number': int})

以及许多其他变体。

有人可以帮忙吗,我是新使用 pandas 的人,几乎要放弃这个了:(

任何帮助将不胜感激

最佳答案

I had used this for renaming the column before:

df.columns.values[0] = 'Experiment_Number'

这应该有效。事实上,它没有只能意味着您的列名称中存在特殊字符/不可打印的字符。

我可以使用df.rename提供另一个可能的建议:

df = df.rename(columns={df.columns[0] : 'Experiment_Number'})

关于python - 将列从 float 转换为 int 时收到 KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46513869/

相关文章:

python - 用字典值覆盖 pandas DataFrame 列,其中字典键与非索引列匹配?

python - 如何在seaborn中设置子图的标题和ylims

python - 从 pandas 数据框列值中删除句子的第一个单词

python - 从单个 csv 文件读取两个完整不同的数据帧

python - 使用 lxml 解析 html 部分模板

python - TypeError:labels不是numpy数组,也不是标量

python - 在数据框列中将负值裁剪为 0 (Pandas)

Python:按时间间隔分组

python - 将1列数据转换为多热编码

python - 一个函数可以知道它是如何被调用的吗?