当前位置: 首页 > 面试题库 >

Python-从pandas数据框中按部分字符串选择

夔建章
2023-03-14
问题内容

我有一个DataFrame4列,其中2个包含字符串值。我想知道是否有一种方法可以根据针对特定列的部分字符串匹配来选择行?

换句话说,一个函数或lambda函数将执行以下操作

re.search(pattern, cell_in_question)

返回一个布尔值。我熟悉的语法,df[df['A'] == "hello world"]但似乎无法找到一种使用部分字符串匹配说的方法'hello'

有人可以指出正确的方向吗?


问题答案:

基于github问题#620,看来你很快将能够执行以下操作:

df[df['A'].str.contains("hello")]

更新:熊猫0.8.1及更高版本中提供了向量化字符串方法(即Series.str)。



 类似资料:
  • 问题内容: 无论如何,有没有使用映射功能或更好的方法来替换整个数据框中的值? 我只知道如何在系列上执行映射。 我想用数字替换“ tesst”和“ set”列中的字符串,例如set = 1,test = 2 这是我的数据集的一个示例:(原始数据集非常大) 最终结果应该是 感谢您的指教, 问题答案: 那呢 正如@Jeff在评论中指出的那样,在熊猫版本<0.11.1中,手动添加到末尾以正确转换tesst

  • 问题内容: 如果不使用,我将如何过滤掉没有的数据? 假设我有一个矩阵,客户可以在其中填写表格或其任何变体,而其他人则将其留空: 输出: 我将如何过滤出值,以便可以像这样使用结果: 我猜我需要类似的东西,但tilda不适用于字符串。 问题答案: 放下它们: 这将删除所有至少有两个non-的行。 然后,您可以将名称放在哪里: 编辑 实际查看您最初想要的是什么,而无需调用即可: 更新 3年后的这个问题,

  • 问题内容: 我有一个文本字符串的一列包含逗号分隔的值。我想拆分每个CSV字段并为每个条目创建一个新行(假定CSV干净,只需要在’,’上拆分)。例如,a应变为b: 到目前为止,我已经尝试了各种简单的函数,但是该.apply方法似乎只在轴上使用一行作为返回值,而我无法开始.transform工作。我们欢迎所有的建议! 示例数据: 我知道这是行不通的,因为我们通过numpy丢失了DataFrame元数据

  • 问题内容: 这项工作(使用Pandas 12 dev) 然后我意识到我需要使用“开始于”来选择字段,因为我缺少一堆。因此,根据我所能追踪的熊猫文档,我尝试过 并得到了AttributeError:’float’对象没有属性’startswith’ 所以我尝试了具有相同结果的替代语法 参考http://pandas.pydata.org/pandas-docs/stable/indexing.htm

  • 问题内容: 我想获取一列中字符串的频率计数。一方面,这类似于将数据框折叠为仅反映列中的字符串的一组行。我能够通过循环解决此问题,但知道有更好的解决方案。 df示例: 并想出去: 我搜索了很多论坛,但找不到合适的答案。 我假设使用pivot_table方法是正确的方法,但是无法获取正确的参数来折叠没有为输出df提供明显索引的表。 我可以通过使用value_counts()遍历每列并将每个值计数系列附

  • 问题内容: 为了测试某些功能,我想从字符串创建一个。假设我的测试数据如下: 将数据读入熊猫的最简单方法是什么? 问题答案: 一种简单的方法是使用或并将其传递给函数。例如: