【发布时间】:2020-12-18 23:02:42
【问题描述】:
注意:CMPLNT_FR_TM 是投诉时间
我正在尝试绘制这样的图表:
我正在尝试创建一个图表来显示 X 时间有多少投诉/犯罪...
这是我的代码:
filter1 = (new_nypd_complaint_record['BORO_NM'] == 'BROOKLYN')
crime_in_brooklyn_by_time = new_nypd_complaint_record[filter1]
#convert time format from H:M:S to H (int)
crime_in_brooklyn_by_time['CMPLNT_FR_TM'] =
pd.to_datetime(crime_in_brooklyn_by_time['CMPLNT_FR_TM'],
format='%H:%M:%S').dt.hour
groups = crime_in_brooklyn_by_time.groupby(["CMPLNT_FR_TM"])
crime_time = groups.size()
crime_time = crime_time.to_frame(name="NUMBER_OF_CRIME")
crime_time.sort_values(by="CMPLNT_FR_TM", ascending=False)
crime_time.head()[["NUMBER_OF_CRIME","CMPLNT_FR_TM"]].plot(x="CMPLNT_FR_TM", kind="bar")
错误:
KeyError:“['CMPLNT_FR_TM'] 不在索引中”
谢谢,
编辑:我跑
print(crime_in_brooklyn_by_time.columns.tolist())
我只有一列: NUMBER_OF_CRIME 不知道为什么...?
【问题讨论】:
-
运行
print(crime_in_brooklyn_by_time.columns.tolist())以查看标题实际上是什么。 -
@cs95 我做了...我得到了
NUMBER_OF_CRIME为什么你认为我只得到一列? -
@Prune 我刚刚添加了更多代码......并试图让问题变得简单......
-
我将等待 MRE。我们应该能够复制并粘贴您的代码的连续块,执行该文件,并重现您的问题以及跟踪问题点的输出。这让我们可以根据您的测试数据和所需的输出来测试我们的建议。
标签: python pandas dataframe plot