我希望在根据工作日对某列进行分组之后,绘制df1中某一列的平均值。根据特定的列值从另一个df中筛选df1。第一数据帧包含不同平面类型的劳动力数据。我对平面类型的df1进行过滤,然后在每周basis.The上绘制劳动数据的平均值,下面是代码:
df1 = df[df['Aircraft'].str.contains('SB_A330')]
weekday = df1['Labor_Hrs'].groupby(df1.index.dayofweek).mean()
weekday.index = ['Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun']
weekday.plot(style=['-'])此代码仅适用于某些类别,其中一些类别的长度不匹配错误。例如,如果有飞机类别'A','B','C‘和'D',它对'A’&‘B’为另一个我得到以下错误:
“长度不匹配:预期轴有1个元素,新值有7个元素”或 长度不匹配:预期轴有3个元素,新值有7个元素
我得到的图表如下:

发布于 2018-02-12 13:17:15
您需要reindex来添加长度为7的Series的缺失天数
weekday=df1['Labor_Hrs'].groupby(df1.index.dayofweek).mean().reindex(range(7), fill_value=0)样本
rng = pd.date_range('2017-04-03', periods=6, freq='59H')
df1 = pd.DataFrame({'Labor_Hrs': range(6)}, index=rng)
print (df1)
Labor_Hrs
2017-04-03 00:00:00 0
2017-04-05 11:00:00 1
2017-04-07 22:00:00 2
2017-04-10 09:00:00 3
2017-04-12 20:00:00 4
2017-04-15 07:00:00 5
weekday=df1['Labor_Hrs'].groupby(df1.index.dayofweek).mean().reindex(range(7), fill_value=0)
weekday.index = ['Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun']
print (weekday)
Mon 1.5
Tues 0.0 <-added 0 for missing
Wed 2.5
Thurs 0.0 <-added 0 for missing
Fri 2.0
Sat 5.0
Sun 0.0 <-added 0 for missing
Name: Labor_Hrs, dtype: float64https://stackoverflow.com/questions/48745626
复制相似问题