蟒蛇|熊猫 | CSV |字典问题

时间:2020-12-23 20:14:25

标签: python

我有一个有 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

我想制作一个以Operating Airline为Key、容量为值的字典。

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”字典中没有

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

有什么建议吗? 谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

试试:

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