繁体   English   中英

如果column是列表,是否可以过滤Pandas DataFrame列?

Is it possible to filter Pandas DataFrame column if column is a list?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

import pandas as pd

dafr = pd.DataFrame({'a': [1,2,3], 'b': [[1,2,3],[2,3,4],[3,4,5]]})

我尝试做类似的事情:

dafr[dafr['b'].isin(2)]

它应返回具有列表的行:[1,2,3]&[2,3,4]。

我想知道这是否可能?

3 个回复

isin返回列值是否在您传递的值中。 您要检查传递的值是否在列值中。

据我所知,没有直接的捷径,但是您可以使用map

>>> dafr[dafr.b.map(lambda x: 2 in x)]
    a          b
0  1  [1, 2, 3]
1  2  [2, 3, 4]
dafr[dafr['b'].apply(lambda x: 2 in x)]

如果将b存储为元组列而不是列表列,则afr[dafr['b'].apply(lambda x: 2 in x)]将执行得非常快。

1 在列列表上使用 OR 语句过滤 Pandas Dataframe

我想根据列表中的几列中的任何一列是否与测试匹配来过滤数据框。 例如,它可以这样工作: ...如果有更多的列要处理,则可以构建一个循环。 但我想知道是否有更 Pythonic 的方式来进行,从结果开始 它给出了 4 列布尔值,我想按行应用or操作。 ...

2 基于列表的 Pandas Dataframe 过滤

我正在研究熊猫数据框中的十项全能数据集。 我在以下代码中计算了每年的异常值。 但是,我在过滤来自熊猫的计算值时遇到问题。 数据集文件截图(转置): Dataset 异常值的箱线图的屏幕截图:箱形图 基本上,我想创建一个新列,它根据数据框中的 Totalpoints 是否具有好坏作为值。 如果 ...

3 如何根据元组列表过滤 Pandas DataFrame?

如何从一组元组中过滤数据帧,以便配对相同? 我需要一种更优雅的写作方式。 我尽量不使用合并,因为它会降低效率。 所以我有一个名为 tup_list 的元组列表: [('118', '35'), ('35', '35'), ('118', '202')假设每个元组中的第一个元素是 A,第二个是 B, ...

4 Pandas Dataframe 检查列值是否在列列表中

我有一个数据框df : 看起来像这样: 我需要检查id是否在idlist ,然后选择或标记它。 我尝试了以下变体并收到评论错误: 解决方案的一些可能的其他方法将.apply应用于列表理解? 我在这里寻找一个解决方案,要么选择id在idlist的行,要么用 1 标记行,其中id在idli ...

5 将列表读入pandas DataFrame列

我想将列表加载到pandas DataFrame的列中,但似乎无法简单地执行此操作。 这是我想要使用transpose()一个例子,但我认为这是不必要的: 有没有办法直接将每个列表加载到列中以消除转置并在创建DataFrame时插入列标签? ...

6 如果一列包含列表,是否可以将Pandas Dataframe保存到hdf?

我有一个巨大的Dataframe,其中有8个miliion行和一个算法,可以在递归模块中使用它。 因为我想防止算法每次都加载整个数据帧,所以我想将其存储为hdf格式,以便我可以预先选择所需的信息,以节省内存空间。 问题是,每一列都由一列组成,这样保存会导致以下错误:异常:找不到正确的原子类型 ...

7 Pandas Dataframe仅按一列过滤行

我想通过仅在给定列中保留符合正则表达式模式的行来过滤数据框。 文档中的示例仅通过在数据框的每一列中查找该正则表达式进行过滤 ( 要过滤的文档 ) 那么我该如何更改以下示例 类似于:(仅在指定列中查找正则表达式) ...

9 通过列表字典过滤 Pandas DataFrame

电影数据帧 我有一个包含电影信息的数据帧,我正在尝试过滤行,以便如果字典列表包含“名称”==“指定类型”,它将显示包含该类型的电影。 我曾尝试使用列表理解 但是我最终遇到了一个错误: 类型错误:字符串索引必须是整数 ...

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM