我有以下Pandas数据帧对象df
。它是列有发车日期、发车计划时间和列车公司的列车时刻表。
import pandas as pd
df =
Year Month DayofMonth DayOfWeek DepartureTime Train Origin
Datetime
1988-01-01 1988 1 1 5 1457 BritishRail Leeds
1988-01-02 1988 1 2 6 1458 DeutscheBahn Berlin
1988-01-03 1988 1 3 7 1459 SNCF Lyons
1988-01-02 1988 1 2 6 1501 BritishRail Ipswich
1988-01-02 1988 1 2 6 1503 NMBS Brussels
....
现在,假设我想选择“Train”列中的所有项目“DeutscheBahn”。
我会用
DB = df[df['Train'] == 'DeutscheBahn']
现在,除了德国铁路、英国铁路和瑞士铁路公司,我怎么能选择所有的列车呢。如何同时选择而不是这些项?
notDB = df[df['Train'] != 'DeutscheBahn']
以及
notSNCF = df[df['Train'] != 'SNCF']
但我不知道如何将这些组合成一个命令。
df[df['Train'] != 'DeutscheBahn', 'SNCF']
不起作用。
isin
返回给定列表中df['Train']
中的值,并且开头的~
实际上是一个not
运算符。另一个有效但较长的语法是:
我喜欢使用查询方法,因为它更清晰一些
相关问题 更多 >
编程相关推荐