![](/img/trans.png)
[英]Python match the string of one column to the substring of another column
[英]Python - Is one string column in another?
我有一個包含兩列的pandas數據幀。 我需要確定一列中的字符串值是否在另一列的字符串值中。 第二列可以是'single1',如'value1',也可以是字符串中用'/'分隔的多個項目,如:'value1 / value2 / value3'。
對於每一行,我需要確定字符串是否存在於同一行的另一個字符串中,因此'value1 / value2 / value3'中的'value1'將計算為True。
到目前為止,我的嘗試無法檢查每一行,只是查看第一列第2列中是否存在第一列字符串。
這是一個例子:
import pandas as pd
df = pd.DataFrame({'a':['a','b','c','d','e'],
'b':['a/b','c/d','c/a','a/b','e']})
df['a'].isin(df['b'])
預期結果將評估為:
True
False
True
False
True
[a in b for a, b in zip(df.a, df.b)]
[True, False, True, False, True]
df.assign(In=[a in b for a, b in zip(df.a, df.b)])
a b In
0 a a/b True
1 b c/d False
2 c c/a True
3 d a/b False
4 e e True
from numpy.core.defchararray import find
a, b = df.values.astype(str).T
find(b, a) >= 0
array([ True, False, True, False, True])
df.assign(In=find(b, a) >= 0)
a b In
0 a a/b True
1 b c/d False
2 c c/a True
3 d a/b False
4 e e True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.