在dataframe Python中筛选具有相同值的列

2024-09-30 02:34:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为相同的值筛选数据帧中的所有列:

这是我的数据帧:

df=pd.DataFrame({'A':['valid','invalid','valid'],'B':['valid','valid','valid'],'C':['valid','invalid','invalid']})

我只想要那些只有'valid'值的记录

我尝试的是:

udf=(lambda x: x=='valid')
df1=df.applymap(udf)
df1

       A     B      C
0   True  True   True
1  False  True  False
2   True  True  False

再次我不知道要过滤的记录,有真正的单独。我该怎么做?你知道吗

Actual df output
         A      B        C
0    valid  valid    valid
1  invalid  valid  invalid
2    valid  valid  invalid

Expected ouput
       A     B      C
0   valid  valid    valid

有人能帮我吗?你知道吗


Tags: 数据lambdafalsetruedataframedfoutput记录
1条回答
网友
1楼 · 发布于 2024-09-30 02:34:25

^{}比较所有值,并按^{}获取具有所有值True的行:

df1 = df[df.eq('valid').all(axis=1)]
#same like
#df1 = df[(df == 'valid').all(axis=1)]
print (df1) 
       A      B      C
0  valid  valid  valid

详细信息:

print (df.eq('valid')) 
       A     B      C
0   True  True   True
1  False  True  False
2   True  True  False

print (df.eq('valid').all(axis=1))
0     True
1    False
2    False
dtype: bool

相关问题 更多 >

    热门问题