[英]Where do the trailing digits come from when converting a float to an int?
[英]Receiving KeyError when converting a column from float to int
使用read_csv創建了一個熊貓數據框。
然后,將第0列的列名從'Unnamed'
更改為'Experiment_Number'
。
此列中的值是浮點數,我一直在嘗試使用以下方法將它們轉換為整數:
df['Experiment_Number'] = df['Experiment_Number'].astype(int)
我收到此錯誤:
KeyError:“ Experiment_Number”
從昨天開始我一直在嘗試各種方法,例如
df['Experiment_Number'] = df.astype({'Experiment_Number': int})
和許多其他變體。
有人可以幫忙嗎,我是新來的熊貓人,這簡直就是放棄:(
任何幫助將不勝感激
我以前曾用它來重命名該列:
df.columns.values[0] = 'Experiment_Number'
這應該起作用了。 事實並非僅僅意味着您的列名中包含特殊字符/不可打印字符。
我可以使用df.rename
提供另一個建議:
df = df.rename(columns={df.columns[0] : 'Experiment_Number'})
您可以在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,則以后可以不用擔心就刪除converters選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.