python - pandas 基于column.isin.list(column)返回子集

标签 python pandas

我有一个这样的数据框:

             userid  number  weight mask
0    17cf2504d0c7       1      1    56
1    17cf2504d0c7       2      5    56
2    17cf2504d0c7       3      3    123

我只是想返回一个子集,其中“权重”出现在数字“掩码”列表中

             userid  number  weight mask
1    17cf2504d0c7       2      5    56
2    17cf2504d0c7       3      3    123

我似乎无法使用迭代器,这似乎浪费了 pandas。

最佳答案

嗯,一种方法是将整数转换为集合并使用集合减法。

mask_ = df.weight.astype(str).apply(set).sub(df['mask'].astype(str).apply(set)).str.len().eq(0)

然后

df.loc[mask_, :]


    userid          number  weight  mask
1   17cf2504d0c7    2       5       56
2   17cf2504d0c7    3       3       123

关于python - pandas 基于column.isin.list(column)返回子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55553946/

相关文章:

python - 在 Python Selenium 中获取 Select 元素的选项时出错

python - 无法使用 virtualenv-2.7 创建 Virtualenv

python - 切片操作是否总是分配一个新对象?

python - pyaudio 流中的数据是什么意思?

python - 展开 python pandas 数据框中的行

python - 从 pandas 的数据框中提取唯一值和计数

python - 在 CSV 文件/Pandas Dataframe 中查找标题行的行号

Python Pandas - 'loc' 和 'where' 之间的区别?

Pandas groupby 和滚动窗口

python - 是否可以将一个 QGraphicsPixmapItem 附加到另一个 QGraphicsPixmapItem?