[英]How to search for a partial string in a dataframe and return a specific cell using Pandas?
我有一個帶有非標准列的數據框(一直到下邊都沒有相同的信息)。 我想搜索可能不在行的某些列中出現的特定短語,然后返回后續單元格的值。 例如:
A B C
How many? 5 Blah blah
Blah How many? 7
How many? 13 Blah
Blah Blah Blah
我試圖弄清楚如何搜索短語“多少?” 然后在下一個單元格(5/7/13 / null)中返回值
帶布爾和shift
df[df.eq('How many?').shift(1,axis=1).fillna(False)]
Out[142]:
A B C
0 NaN 5 NaN
1 NaN NaN 7
2 NaN 13 NaN
3 NaN NaN NaN
更新
s1=df.eq('How many?').shift(1,axis=1).fillna(False)
s2=df.eq('How many?')
df[s1|s2]
Out[154]:
A B C
0 How many? 5 NaN
1 NaN How many? 7
2 How many? 13 NaN
3 NaN NaN NaN
請改用numpy
數組,以便於索引編制:
mask = df.values == 'How many?'
your_list = [df.values[i, j+1] for i, j in zip(*np.where(mask)) if j < df.values.shape[1]-1]
# yourlist = ['5', '7', '13']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.