首页 > 解决方案 > 蟒蛇 | 熊猫 | CSV | 字典问题

问题描述

我有一个包含 40 列的数据,但我缩小了范围:

Information = df[["Origin Airport", "Operating Airline Name", "Operating Airline   Capacity"]]

现在看起来像这样

 Origin Airport  ... Operating Airline   Capacity
0                IAD  ...                        16151
1                IAD  ...                        12183
2                IAD  ...                        10974
3                IAD  ...                         8959
4                IAD  ...                         8587
...              ...  ...                          ...
23605            IAD  ...                           50
23606            IAD  ...                           50
23607            IAD  ...                           50
23608            IAD  ...                           50
23609            IAD  ...                           50

我想制作一本字典,以运营航空公司为键,容量为值。

a=Information.set_index('Operating Airline Name')['Operating Airline   Capacity'].to_dict()

它有效,但是当我检查结果时它与实际结果不匹配。

打印“a”看起来像这样

{'Emirates': 16151, 'Ethiopian Airlines Enterprise': 1179, 'Qatar Airways (Q.C.S.C.)': 354, 'Turkish Airlines Inc.': 9300, 'Korean Air Lines Co. Ltd.': 8587, 'United Airlines, Inc.': 126, 'Air France': 296, 'Etihad Airways': 7006, 继续..

例如,数据中有多个具有不同值的“Emirates”行,但在“a”字典中没有

因此,我想要一本字典,显示每家航空公司的运力总和。

有什么建议么?谢谢!

标签: python

解决方案


字典不能有重复的键。您当前的方法可能是采用每家航空公司的第一个实例并将该容量分配给它。它也不知道如何聚合您的数据。

在制作字典之前,您需要先创建汇总数据的视图。您可以使用该.groupby方法。

尝试:

 Information.groupby('Operating Airline Name').agg({'Operating Airline   
 Capacity':'sum'}]).to_dict()

推荐阅读