如何在熊猫的多个列中查找值

时间:2019-06-12 09:40:54

标签: python pandas

我在数据框内有100多个列,例如,在列中提到了多种服务

Route1 Route2 Route3 .... Route100

现在我在列中有这样的值

Route1     Route2    Route3    ....          Route100
   ax        bc        dd      ....             xe
   bc        dd        xe      ....             ax
   dd        ax        da      ....             ki

我想选择所有值从ax到dd和dd到ax的行

这是我尝试过的方法,但是由于我有多个列而无法正常工作

 df.ne('ax').dot(df.columns)

预期结果应该是

Route1    Route2     Route3    ....          Route100
   ax       -          dd      ....             -
    -       dd         -      ....              ax
   dd       ax         -      ....              -

2 个答案:

答案 0 :(得分:0)

IIUC,您正在寻找isin和布尔掩码:

mask = df.isin(['ax','dd'])
df[mask]

输出:

  Route1 Route2 Route3  ... Route100
0     ax    NaN     dd  ...      NaN
1    NaN     dd    NaN  ...       ax
2     dd     ax    NaN  ...      NaN

答案 1 :(得分:-1)

将其制成字典,然后可以使用循环功能。像这样:

For values in Route 
(
df.ne('ax').dot(df.columns)
)