使用read_csv创建了一个pandas数据框。
然后我将第0列的列名从'Unnamed'
更改为'Experiment_Number'
。
此列中的值是浮点数,我一直在尝试使用以下方法将它们转换为整数:
df['Experiment_Number'] = df['Experiment_Number'].astype(int)
我收到此错误:
KeyError:'Experiment_Number'
自昨天以来,我一直在努力,例如
df['Experiment_Number'] = df.astype({'Experiment_Number': int})
以及许多其他变体。
有人可以请求帮助,我是新手使用大熊猫,这接近放弃这个:(
任何帮助将不胜感激
答案 0 :(得分:2)
我之前用它来重命名该列:
api.add_resource(Tasks, '/refer-me/api/v1.0/tasks', methods=['GET'])
这应该有效。事实上,它并不意味着你的列名中有特殊的字符/不可打印的字符。
我可以使用df.columns.values[0] = 'Experiment_Number'
提供另一个可能的建议:
df.rename
答案 1 :(得分:0)
您可以在read_csv()
来电期间转换类型,然后重命名。如在
df = pandas.read_csv(filename,
dtype = {'Unnamed': 'float'}, # inform read_csv this field is float
converters = {'Unnamed': int}) # apply the int() function
df.rename(columns = {'Unnamed' : 'Experiment_Number'}, inplace=True)
dtype并不是绝对必要的,因为在这种情况下转换器会覆盖它,但是养成为输入的每个字段始终提供dtype的习惯是明智的。例如,令人讨厌的是,pandas默认情况下如何将整数视为浮点数。此外,如果指定了dtype,您可以稍后删除转换器选项。