用AVERAGEIF为较大数据集生成Python列

2024-04-19 13:41:45 发布

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

在我的最后一个问题中,我已经对groupby有了一部分的了解,但是groupby似乎不能完成我想要的。我有一个带有唯一字母和时间组合的数据表,我试图将这些值的“averageif”放入第二个表中,但不是所有的值。你知道吗

Letter  Time   Value          Time      A2       B3
A1      1:00    7.97          1:00     3.16     4.32  
A1      2:00    3.56          2:00     5.06     6.76
A2      1:00    3.16          
A2      2:00    9.09           
A2      2:00    0.64           
A2      2:00    5.44           
A3      1:00    1.53
B1      2:00    4.55
B1      3:00    7.36
B2      1:00    3.81
B2      2:00    7.30
B3      1:00    4.34
B3      1:00    4.30
B3      2:00    4.61
B3      2:00    8.91

我不知道如何写一些只能智能地计算平均值的东西,我在看,基于两列分析。我有所有的代码从CSV中提取这些数据,生成唯一的值,等等,但它似乎不相关。谢谢你的建议,我就是过不了这一步。你知道吗


Tags: a2timevalue智能a1字母时间b2
1条回答
网友
1楼 · 发布于 2024-04-19 13:41:45

isin选择所需的行,只需调用groupby+mean。做最后一个unstack调用来重塑输出。你知道吗

df[df.Letter.isin(['A2', 'B3'])]\
     .groupby(['Letter', 'Time']).Value.mean().unstack().T

Letter        A2    B3
Time                  
1:00    3.160000  4.32
2:00    5.056667  6.76

相关问题 更多 >