当前位置: 代码迷 >> python >> pandas DataFrame-在不对每个索引标签进行硬编码的情况下,为每个唯一索引计算列的平均值?
  详细解决方案

pandas DataFrame-在不对每个索引标签进行硬编码的情况下,为每个唯一索引计算列的平均值?

热度:65   发布时间:2023-06-13 15:00:50.0

到目前为止,我真的很喜欢熊猫,但是我还是无法解决!

我在这里显示了一些航班数据的简化数据框。 承运人是像Am一样的承运人。 空气。 和Uni。 空气。

print (df)

Carrier | Num_Passengers
AA        40
AA        35
AA        64
UA        40
UA        25
UA        56

在我的数据框中,承运人是左侧垂直索引,旅客人数是该列顶部的我索引。

我已经通过以下方式确定了每个唯一索引:

carriers = df.index.unique()

这给了我

array(['AA','UA'], dtype=object)

然后,我想计算每个唯一索引(AA和UA)的平均Num_Passengers,而无需明确说明。 一些伪代码,因为我不确定该怎么做:

for "carrier" in carriers:
    make a new dataframe or array containing only the passengers 
    for "carrier" and calculate the average

我真的一直在为此苦苦挣扎,并在互联网上上下搜索。 也许我的措词是错误的,但是在某个地方肯定有答案!

您希望对索引进行分组,然后获得平均乘客人数。

df.groupby(level=0).mean()

             Num_Passengers
Carrier                
AA            46.333333
UA            40.333333
  相关解决方案