根据列上的“ OR”选择熊猫中的行

时间:2018-11-06 15:56:19

标签: pandas

我想根据某个值是否在几列之一中至少出现一次来选择行。我只能找到一些示例,其中有人根据包含某些值的一列选择行。

我将如何选择ab而不选择c,因为7[Field1, Field2, Field3]的{​​{1}}发生在a中但没有b

c

2 个答案:

答案 0 :(得分:2)

您可以进行melt

df.melt('Label').loc[lambda x : x.value==7].Label
Out[14]: 
0    a
4    b
Name: Label, dtype: object

答案 1 :(得分:1)

如果要保留数据的所有列,则可以执行以下操作:

df[df[['Field1', 'Field2', 'Field3']].eq(7).any(axis='columns')]

哪一个可以给你(取决于您的值位于何处,根据示例尚不清楚):

    Label   Field1  Field2  Field3
0       a        7     NaN     NaN
1       b       10     7.0     NaN