![](/img/trans.png)
[英]Find rows which have one column's value as substring in another column along with other OR conditions in pandas
[英]Select rows in pandas where value in one column is a substring of value in another column
我在下面有一個數據框
>df = pd.DataFrame({'A':['apple','orange','grape','pear','banana'], \
'B':['She likes apples', 'I hate oranges', 'This is a random sentence',\
'This one too', 'Bananas are yellow']})
>print(df)
A B
0 apple She likes apples
1 orange I hate oranges
2 grape This is a random sentence
3 pear This one too
4 banana Bananas are yellow
我正在嘗試獲取 B 列包含 A 列中的值的所有行。
預期結果:
A B
0 apple She likes apples
1 orange I hate oranges
4 banana Bananas are yellow
我只能使用
>df[df['B'].str.contains(df.iloc[0,0])]
A B
0 apple She likes apples
我怎樣才能獲取所有這些行?
使用DataFrame.apply
將兩個值都轉換為較低和測試包含通過in
並通過boolean indexing
過濾:
df = df[df.apply(lambda x: x.A in x.B.lower(), axis=1)]
或列表理解解決方案:
df = df[[a in b.lower() for a, b in zip(df.A, df.B)]]
print (df)
A B
0 apple She likes apples
1 orange I hate oranges
4 banana Bananas are yellow
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.