在python中绘制几周的散点图

时间:2018-05-20 00:07:13

标签: python dataframe matplotlib scatter-plot

我在数据框中有simpe数据集,其中年份,出勤率,周数是列。

attendance    week      years
37440 Sun 2010-04-04 43504 Mon 2010-04-05 38935 Mon 2010-04-05 40052 Mon 2010-04-05 43510 Tue 2010-04-06 38000 Tue 2010-04-06 10090 Tue 2010-04-06 41533 Wed 2010-04-07

我想绘制一个散点图,我有很多值得对我每天想要平均的值,并在散点图上显示它们。
我在其他帖子上看到了这个,但我试过但是这里给出的错误是我的代码

import pandas as pd

days=['Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun']
log_2010=pd.read_excel('GL2010-2017.xlsx')

year=log_2010['years']
attendance=log_2010['attendace']
week=log_2010['day_of_week']
df=pd.DataFrame({
    'years':year,
       'attendance':attendance,
       'week':week
    })
new_df=df.dropna(how='any')
new_df['years']=pd.to_datetime(year,format='%Y%m%d')
df['week'] = pd.Categorical(new_df['week'], categories=days)


df[['week', 'attendance']].groupby('week').mean().plot.scatter(df['week'],df['attendance'])

我收到此错误
KeyError:“['太阳''星期一'星期一'......'太阳'太阳'太阳']不在索引”

1 个答案:

答案 0 :(得分:-1)

尝试从excel文件导入数据时将周设置为索引:log_2010 = pd.read_excel(' GL2010-2017.xlsx',index_col ='周')