【问题标题】:Iterate over certain rows迭代某些行
【发布时间】:2019-09-04 18:36:27
【问题描述】:

我有一个包含航班出发地和目的地的数据框,如下所示:

Dataframe

我想遍历一组以某些城市开头或结尾的行。假设,我只想迭代从 JFK 或 MEX 开始或结束的航班。

我应该使用 iloc 吗?

【问题讨论】:

  • df.loc[df.Origin.isin(['JFK','MEX'])]
  • 这是否也考虑了目的地?我不仅想遍历从某个机场开始的航班,还想遍历结束的航班和那些机场
  • 我已将其写入答案

标签: python pandas


【解决方案1】:
df.loc[df['Origin'].isin(["JFK", "MEX"]) | df['Destination'].isin(["JFK", "MEX"])]

【讨论】:

    【解决方案2】:

    好的,您可以将groupbyagg firstlast 一起使用

    s=df.groupby('Flight').Origin.agg(['first','Last'])
    s=s.isin(["JFK", "MEX"]).any(axis=1)
    yourdf=df.loc[df.Flight.isin(s[s].index).copy()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-25
      • 2020-08-01
      • 2021-03-06
      • 2021-01-14
      相关资源
      最近更新 更多