在 Python 中使用 'in' 运算符 |特定观察与列
Using the 'in' Operator in Python | Observation Specific vs Columns
如果以下代码有效并等同于'True':
'1234567' in '1234567:AMC'
为什么它在以下 arrays/data-frames/columns 中不起作用?
import pandas as pd
x = {'Non-Suffix' : ['1234567', '1234568', '1234569', '1234554'], 'Suffix' : ['1234567:C', '1234568:VXCF', '1234569-01', '1234554-01:XC']}
x = pd.DataFrame(x)
x
x['Non-Suffix'] in x['Suffix']
# Note: Above line provides error (see below SO screen shot for full error)
以下是我收到的错误消息:
是否可以将“1234567:AMC”逻辑中的“1234567”应用于数据列?
您正在 上使用 in 命令,正如解释器告诉您的那样,这是不可能的。
您必须通过 x['Non-Suffix'].array 使用 pandas 数据框中的数组来访问底层数据数组。然后您将获得实现 in 的基础 。这样就可以了
import pandas as pd
x = {'Non-Suffix' : ['1234567', '1234568', '1234569', '1234554'],
'Suffix' : ['1234567:C', '1234568:VXCF', '1234569-01', '1234554-01:XC']}
x = pd.DataFrame(x)
y = x['Non-Suffix'].array
print( type( y ) )
print( y )
x['Non-Suffix'].array in x['Suffix'].array
您可以使用apply()
进行测试row-wise
x.apply(lambda row: row['Non-Suffix'] in row['Suffix'], axis=1)
如果以下代码有效并等同于'True':
'1234567' in '1234567:AMC'
为什么它在以下 arrays/data-frames/columns 中不起作用?
import pandas as pd
x = {'Non-Suffix' : ['1234567', '1234568', '1234569', '1234554'], 'Suffix' : ['1234567:C', '1234568:VXCF', '1234569-01', '1234554-01:XC']}
x = pd.DataFrame(x)
x
x['Non-Suffix'] in x['Suffix']
# Note: Above line provides error (see below SO screen shot for full error)
以下是我收到的错误消息:
是否可以将“1234567:AMC”逻辑中的“1234567”应用于数据列?
您正在
import pandas as pd
x = {'Non-Suffix' : ['1234567', '1234568', '1234569', '1234554'],
'Suffix' : ['1234567:C', '1234568:VXCF', '1234569-01', '1234554-01:XC']}
x = pd.DataFrame(x)
y = x['Non-Suffix'].array
print( type( y ) )
print( y )
x['Non-Suffix'].array in x['Suffix'].array
您可以使用apply()
进行测试row-wise
x.apply(lambda row: row['Non-Suffix'] in row['Suffix'], axis=1)