首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python群图的长度不匹配误差

python群图的长度不匹配误差
EN

Stack Overflow用户
提问于 2018-02-12 11:39:19
回答 1查看 1K关注 0票数 1

我希望在根据工作日对某列进行分组之后,绘制df1中某一列的平均值。根据特定的列值从另一个df中筛选df1。第一数据帧包含不同平面类型的劳动力数据。我对平面类型的df1进行过滤,然后在每周basis.The上绘制劳动数据的平均值,下面是代码:

代码语言:javascript
运行
复制
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个元素

我得到的图表如下:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-12 13:17:15

您需要reindex来添加长度为7Series的缺失天数

代码语言:javascript
运行
复制
weekday=df1['Labor_Hrs'].groupby(df1.index.dayofweek).mean().reindex(range(7), fill_value=0)

样本

代码语言:javascript
运行
复制
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: float64
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48745626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档