使用字符串包含和字典标记数据
输入:
a b
0 x abc
1 a z
和一本字典
columns = {'a':['abc'], 'b':['xyz', 'abc']}
我想要做一个字符串,包含根据字典中的列(键)搜索字符串(值)的位置。
我已经实现了使用for循环
代码:
for col, strings in columns.items():
df[col] = df[col].str.contains('|'.join(strings), case=False)
输出:
a b
0 False True
1 False False
如果没有for循环并直接使用字典,我如何做到这一点?
发布于 2018-11-18 00:24:10
使用list comprehension
在使用strings
时加快速度
df = pd.DataFrame(np.array([[True if value in columns[col] else False for value in df[col]] for col in df.columns]).T,
columns = df.columns)
print(df)
a b
0 False True
1 False False
https://stackoverflow.com/questions/53337049
复制相似问题