簡體   English   中英

Python - 另一個是一個字符串列嗎?

[英]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

NumPy的

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.

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