【发布时间】:2021-12-24 07:36:18
【问题描述】:
我一直在解决 python 中的一个问题,我有一个 3 列和超过一百万行的矩阵。第一列代表原产国,第二列代表目的地国家,第三列代表日期。例如:
US AU 02/03/2020
US CN 03/04/2020
US MX 03/04/2020
AU US 02/03/2020
AU AU 02/03/2020
AU CN 03/04/2020
AU MX 03/04/2020
AU US 02/03/2020
US AU 02/03/2020
US CN 03/04/2020
US MX 03/04/2020
AU US 02/03/2020
我想计算给定日期两个国家之间的所有航班。例如,02/03/2020 上从 US 到 AU 的所有航班。我已经用 3 个 for 和一些 if 完成了它,但它已经运行了一个多星期,还没有完成。我想知道是否有人对我如何以更有效的方式处理此问题提出建议。
谢谢
【问题讨论】:
-
你能告诉我们你的代码吗?
-
使用 pandas 及其内置的过滤和计数方法。
-
欢迎您!请阅读How to Ask。每当有问题询问代码时,问题都应包含该代码。否则,无法知道代码失败的原因。 minimal reproducible example 是另一篇值得阅读的好文章。
-
为什么需要 3 个 for ?
sum(flight['from'] == 'US' and flight['to'] == 'AU' and flight['date'] == '02/03/2020' for flight in list_of_flights)