无法绘制切片数据帧;“ColumnName”上的键错误

2024-10-06 09:02:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,正在尝试从数据帧创建一个简单的线条图

data frame

当尝试使用以下命令时,我收到以下错误“KeyError:RegionName”。从我所看到的情况来看,这个错误意味着我案例中的列名不存在,这显然不是事实。 还请注意,此数据帧已创建为另一个数据帧的切片

代码:

import pandas as pd
import numpy as np
import pyodbc 
import matplotlib.pyplot as plt

region_data = pd.merge(q4, q5, on = 'AeId')

#refine the columns --> cut slack
region_data_refined = region_data.drop(['TimePeriodId_y', 'AeName', 'RgoCode','AeId', 'IsActive','RegionCode'], axis=1)

#get region totals
region_totals = region_data_refined.groupby(['BenefitCode', 'RegionName']).sum()

region_totals.drop('TimePeriodId_x', axis=1, inplace=True)

region_pct_26 = region_totals.iloc[6:12, :]
region_pct_26['Opp_Lives_pct'] = ((region_pct_26.Lives / region_pct_26.Lives.sum())*100).round(2)

region_pct_26.plot(x ='RegionName', y='Opp_Lives_pct', kind = 'line')   

Tags: 数据importdataas错误regiondroppd
1条回答
网友
1楼 · 发布于 2024-10-06 09:02:25

问题来自于使用groupby()函数RegionName成为较低级别的索引。尝试使用region_pct_26.plot()绘图时,RegionName列不再是“列”。它是数据帧索引的一部分

>>> region_pct_26.unstack(level=0).plot(y='Opp_Lives_pct', kind = 'line')

如果问题仍然存在,请重试

>>> region_pct_26.unstack(level=0).reset_index().plot(x='RegionName', y='Opp_Lives_pct', kind = 'line')

相关问题 更多 >