簡體   English   中英

從熊貓數據框中的多列中選擇相同的數據

[英]selecting same data from multiple columns in pandas Dataframe

我有以下數據,

name    marks   team1   team2
John    30  kk  vv.
Sera    56  gg  ww.
Saara   66  dd  gg.
Dirg    33  rr  dd.
maget   34  ff  rr.
fared   56  vv  ff.
juile   32  ww  kk.

我需要有通用公式來按行獲取記錄,在第 1 組和第 2 組中有 'kk' 這只是一個示例數據,我有超過 100k 行的實際數據。

使用帶有filter創建的掩碼的boolean indexing獲取帶有team所有列,通過eq ( == ) 進行比較並通過any獲得每行至少一個True

df = df[df.filter(like='team').eq('kk').any(axis=1)]
#if want select columns by names
#df = df[df[['team1','team2']].eq('kk').any(axis=1)]

為了獲得更好的性能,請使用numpy.any

df = df[np.any(df.filter(like='team').values == 'kk', axis=1)]

print (df)
    name  marks team1 team2
0   John     30    kk    vv
6  juile     32    ww    kk

細節:

print (df.filter(like='team').eq('kk'))
   team1  team2
0   True  False
1  False  False
2  False  False
3  False  False
4  False  False
5  False  False
6  False   True

print (df.filter(like='team').eq('kk').any(axis=1))
0     True
1    False
2    False
3    False
4    False
5    False
6     True
dtype: bool

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM