每当我在DataFrame (pandas)中选择除第一列以外的列时,都会收到键错误。
import pandas as pd
df = pd.read_csv("https://people.sc.fsu.edu/~jburkardt/data/csv/biostats.csv")
df["Weight (lbs)"]
结果:
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'Weight (lbs)'
发布于 2019-08-06 20:06:23
发生这种情况的原因是因为您的CSV中的列在列名周围包含一个“。
要解决此问题,请执行以下操作:
df=pd.read_csv("https://people.sc.fsu.edu/~jburkardt/data/csv/biostats.csv")
df.columns = [ "Name", "Sex","Age","Height (in)", "Weight (lbs)"]
发布于 2019-08-06 20:08:37
如果你运行df.columns,你会发现你的列是:‘姓名’,‘性别’,‘年龄’,‘’身高(英寸)‘’,‘’体重(磅)‘’
所以你必须使用:
df[' "Weight (lbs)"']
发布于 2019-08-06 20:27:14
您的csv文件具有包含qoutes的列名。您可以使用:
df.columns=[column.replace("\"","") for column in df.columns]
通过这种方式,你可以处理任何有类似问题的文件。
https://stackoverflow.com/questions/57383168
复制