问题陈述 如图所示,我拥有CSV数据。因此,我仅需使用keepName,State和2000年至2016年的季度平均值。此外,我想对[State,RegionName]使用多索引。
我正在使用python中的pandas处理CSV文件。如屏幕截图所示。
谢谢。
答案 0 :(得分:2)
就在麻烦的for year in range(...)
循环之前,您做了:
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)
将失败并抛出该错误,因为没有名称为 string 的列。要解决此问题,请执行以下操作:
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()