在熊猫数据框中高效,快速地实现查找和匹配唯一值的功能

Salil Sharma

关于以下熊猫数据框,

idx = pd.MultiIndex.from_product([['A001', 'B001','C001'],
                                  ['0', '1', '2']],
                                 names=['ID', 'Entries'])
col = ['A', 'B']

df = pd.DataFrame('-', idx, col)
df.loc['A001', 'A'] = [10,10,10]
df.loc['A001', 'B'] = [90,84,70]
df.loc['B001', 'A'] = [10,20,30]
df.loc['B001', 'B'] = [70,86,67]
df.loc['C001', 'A'] = [20,20,20]
df.loc['C001', 'B'] = [98,81,72]
df.loc['D001', 'A'] = [20,20,10]
df.loc['D001', 'B'] = [68,71,92]
#df is a dataframe
df

我很想知道Id,这些Id在其“ A”列中包含来自集合或列表的所有值。让我们定义一个值为[10,20]的列表。在这种情况下,我应该获得位置“ B001”和“ D001”作为答案,因为这两个位置的“ A”列中都提到了列表中的值。您还可以建议一个更快的实现,因为我必须处理非常大的数据集。

pp

您可以set.intersection用于计算,并pd.Index.get_level_values提取索引的第一级:

search = {10, 20}

idx = (set(df[df['A'] == i].index.get_level_values(0)) for i in search)

res = set.intersection(*idx)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用purrr函数和%>%从复杂的JSON中高效地提取嵌套数据框

在熊猫数据框中高效存储大字符串列

在熊猫数据框中高效地转换时区

如何在 Eloquent 中高效地批量更新給定一組鍵和值

在SQLite中高效地存储匹配的数字对

在Delphi中高效地填充组合框

如何使用熊猫数据框查找每个目的地的唯一来源数量?

切片和分配值的唯一顺序索引的多索引熊猫数据框

在熊猫中高效地搜索字符串和标签搜索词

如何为熊猫数据框中按ID分组的每个列的每个唯一值查找最小值

熊猫数据框之间的匹配ID和应用功能

如何在SQL Server中以特定值结尾的大型表中高效地查找行?

Pandas 数据框高效查找和替换

快速实现查找一个数的 2 的前次幂

列出熊猫数据框中每组的唯一值计数

熊猫groupby获取唯一值的数据框

大熊猫数据框的两列的唯一值

熊猫-检查数据框groupby中的非唯一值

在熊猫数据框中打印唯一值

根据唯一对值过滤熊猫数据框

在熊猫数据框中使用.groupby计算唯一值

查找熊猫数据框列的唯一行,第二列的所有值均为NaN

如何查找存储在熊猫数据框列中的逗号分隔字符串中唯一值的数量?

Python - 基于唯一值查找、匹配、排序和追加

查找数据框所有列的唯一值

从熊猫数据框中找到值的第一个匹配项(从值列表中查找)并返回该行的索引

匹配和重新排列熊猫数据框中的值

如何在 TensorFlow 中高效地实现这个简单的结构

查找跨不同熊猫数据框的谐波均值的高效函数