我想根据某个值是否在几列之一中至少出现一次来选择行。我只能找到一些示例,其中有人根据包含某些值的一列选择行。
我将如何选择a
和b
而不选择c
,因为7
和[Field1, Field2, Field3]
的{{1}}发生在a
中但没有b
。
c
答案 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