Python 基于字典的数据帧字符串搜索
使用字符串包含和字典标记数据帧Python 基于字典的数据帧字符串搜索,python,pandas,Python,Pandas,使用字符串包含和字典标记数据帧 columns = {'a':['abc'], 'b':['xyz', 'abc']} 输入: 还有一本字典 columns = {'a':['abc'], 'b':['xyz', 'abc']} 我想做一个字符串,它包含根据字典中的列(键)搜索字符串(值)的位置 我已经实现了使用for循环 代码: 输出: 如果没有for循环和直接使用字典,我怎么做呢?在使用字符串时,使用列表理解来加快速度: df = pd.DataFrame(np.array([[True
columns = {'a':['abc'], 'b':['xyz', 'abc']}
输入:
还有一本字典
columns = {'a':['abc'], 'b':['xyz', 'abc']}
我想做一个字符串,它包含根据字典中的列(键)搜索字符串(值)的位置
我已经实现了使用for循环
代码:
输出:
如果没有for循环和直接使用字典,我怎么做呢?在使用
字符串时,使用列表理解来加快速度:
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
熊猫中没有使用字符串的矢量化方法。此外,str函数仅适用于系列。对于性能而言,考虑到数据是干净的,您可以考虑使用列表理解。@ SandeepKadapa感谢您提供的信息。你能回答我是如何理解列表的吗?谢谢你的回答@毗瑟努杰夫很乐意帮忙。
a b
0 False True
1 False False
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