简体   繁体   English

查找包含整数列的 pandas dataframe 与包含整数列表列的 dataframe 匹配的所有实例

[英]Find all instances where a pandas dataframe containing a column of int's matches a dataframe with a column of a list of ints

I have 2 dataframes.我有 2 个数据框。 One (a) has a column of integers and one (b) has a column of a list of integers (array or list)一个 (a) 有一列整数,一个 (b) 有一列整数列表(数组或列表)

I'm trying to find a way to find all occurrences of b where b contains a.我正在尝试找到一种方法来查找 b 包含 a 的所有 b 出现。

I hoped something like this would work我希望这样的事情会奏效

df3 = a[a['cell'].isin(b['cells'])]

But I get an empty dataframe.但我得到一个空的 dataframe。

I tried using columns 'a' and 'b' in the same dataframe.我尝试在同一个 dataframe 中使用列“a”和“b”。 Here is the filter that worked for me on an example dataframe I made.这是在我制作的示例 dataframe 上为我工作的过滤器。

data=pd.DataFrame([[1, [1, 2, 3]], [5, [11, 12, 13]], [6, [7, 6, 10]]], columns=['a', 'b'])
mask=(pd.Series(data.index)).apply(lambda x:(data.loc[x, ['a']]).isin(data.loc[x, ['b']].values[0]))

data:数据:

在此处输入图像描述

data.loc[mask['a'].values]: data.loc[掩码['a'].values]:

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Pandas 将列的所有值与不同的 DataFrame 进行比较,并返回值匹配的列名(不同的 DataFrame) - Pandas compare all values of a column with different DataFrame and return column name (of a dif. DataFrame) where value matches 在另一列的列表中查找与 Pandas 数据框列最近的元素 - Find closest element of a pandas dataframe column in another column's list 展平包含字典列表的熊猫数据框列 - Flatten pandas dataframe column containing list of dictionaries Pandas dataframe 列包含字符串和列表 - Pandas dataframe column containing string and list 选择列表中的Pandas DataFrame列值的所有行 - Select ALL rows where Pandas DataFrame Column values in a List 熊猫数据框合并其中 1 列匹配,但另一列的值不存在 - Pandas Dataframe Merge Where 1 Column Matches, but Another Column's Values are not Present 如果第二列与给定的列表pandas匹配,则替换dataframe列中的值 - Replace values in dataframe column if second column matches a given list pandas 对于 dataframe,将列中的所有列表转换为 int 值 - For a dataframe, convert all list in a column to int values 在行匹配条件的Pandas DataFrame中获取第一列值 - Get first column value in Pandas DataFrame where row matches condition 删除熊猫数据框中列与数据类型不匹配的行 - Remove rows in pandas dataframe where column doesnot matches a dataype
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM