Python 错误-列中没有索引

Python 错误-列中没有索引,python,pandas,data-science,Python,Pandas,Data Science,问题陈述 我有CSV数据,如图所示。因此,我只能使用keep RegionName、State和2000-2016年的季度平均值。另外,我想使用[State,RegionName]的多重索引。 我正在用python编写一个带有熊猫的CSV文件。如屏幕截图所示 提前感谢。就在麻烦的年范围(…)循环之前,您做到了: house_data.columns = pd.to_datetime(house_data.columns).to_period('M') 这意味着您的列不再是字符串。所以在for

问题陈述 我有CSV数据,如图所示。因此,我只能使用keep RegionName、State和2000-2016年的季度平均值。另外,我想使用[State,RegionName]的多重索引。

我正在用python编写一个带有熊猫的CSV文件。如屏幕截图所示


提前感谢。

就在麻烦的
年范围(…)
循环之前,您做到了:

house_data.columns = pd.to_datetime(house_data.columns).to_period('M')
这意味着您的列不再是字符串。所以在for循环中:

house_data[str(year)+'q2'] = house_data[[str(year)+'-04',...]].mean(axis=1)
将失败并抛出该错误,因为没有名称为字符串的列。要解决此问题,请改为执行以下操作:

house_data.columns = pd.to_datetime(house_data.columns).to_period('M').strftime('%Y-%m')
但是,您最好执行以下操作:

house_data.columns = pd.to_datetime(house_data.columns).to_period('Q')

house_data.groupby(level=0, axis=1).mean()

就在范围(…)循环中出现麻烦的
for year之前,您执行了以下操作:

house_data.columns = pd.to_datetime(house_data.columns).to_period('M')
这意味着您的列不再是字符串。所以在for循环中:

house_data[str(year)+'q2'] = house_data[[str(year)+'-04',...]].mean(axis=1)
将失败并抛出该错误,因为没有名称为字符串的列。要解决此问题,请改为执行以下操作:

house_data.columns = pd.to_datetime(house_data.columns).to_period('M').strftime('%Y-%m')
但是,您最好执行以下操作:

house_data.columns = pd.to_datetime(house_data.columns).to_period('Q')

house_data.groupby(level=0, axis=1).mean()

不要张贴代码/错误/数据的图片。复制并粘贴它们为文本,格式为代码。感谢您的建议Quang Hoang不要发布代码/错误/数据的图片。复制和粘贴它们作为文本和格式作为代码。谢谢你这样的建议光华