当前位置:  开发笔记 > 编程语言 > 正文

Pandas DataFrame:访问多个项目,不等于,=!

如何解决《PandasDataFrame:访问多个项目,不等于,=!》经验,为你挑选了1个好方法。

我有以下Pandas DataFrame对象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
....

现在,让我们说我想在"火车"栏中选择所有项目"DeutscheBahn".

我会用

DB = df[df['Train'] == 'DeutscheBahn']

现在,我如何选择除DeutscheBahn和British Rails以及SNCF之外的所有列车.我怎样才能同时选择不属于这些的项目?

notDB = df[df['Train'] != 'DeutscheBahn']

notSNCF = df[df['Train'] != 'SNCF']

但我不确定如何将这些组合成一个命令.

df[df['Train'] != 'DeutscheBahn', 'SNCF']

不起作用.



1> DeepSpace..:
df[~df['Train'].isin(['DeutscheBahn', 'SNCF'])]

isin返回df['Train']给定列表中的值,并且~开头本质上是一个not运算符.

另一种工作但更长的语法是:

df[(df['Train'] != 'DeutscheBahn') & (df['Train'] != 'SNCF')]

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有