如何使用Pandas在数据框中搜索部分字符串并返回特定的单元格?

时间:2018-11-08 15:18:46

标签: python pandas csv dataframe

我有一个带有非标准列的数据框(一直到下一个相同的信息)。我想搜索可能不在行的某些列中出现的特定短语,然后返回后续单元格的值。例如:

A               B               C
How many?       5               Blah blah
Blah            How many?       7
How many?       13              Blah
Blah            Blah            Blah

我正试图弄清楚如何搜索短语“多少?”然后在下一个单元格(5/7/13 / null)中返回值

2 个答案:

答案 0 :(得分:2)

使用布尔值和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

答案 1 :(得分:1)

使用Root pom数组来简化索引编制:

numpy