Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于字典的数据帧字符串搜索_Python_Pandas - Fatal编程技术网

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