当前位置: 首页 > 知识库问答 >
问题:

如何基于部分匹配选择DataFrame列?

慕鸿波
2023-03-14

今天下午,我一直在努力寻找一种方法,通过检查熊猫名字(标签?)中某个模式的出现,来选择我的熊猫数据目录中的几列。

hp = ~(df.target_column.str.contains('some_text') | df.target_column.str.contains('other_text'))
df_cln= df[hp]
ll = []
for a in df.columns:
    if a.startswith('start_exp1') | a.startswith('start_exp2'):
    ll.append(a)
df[ll]

(当然,可以应用任何str函数)

然后,我找到了map函数,并让它使用以下代码:

import re
sel = df.columns.map(lambda x: bool(re.search('your_regex',x))
df[df.columns[sel]]

当然,在第一个解决方案中,我可以执行相同类型的regex检查,因为我可以将它应用于迭代返回的str数据类型。

共有1个答案

彭仲卿
2023-03-14

通过部分字符串选择列,可以简单地完成,通过:

df.filter(like='hello')  # select columns which contain the word hello

要通过部分字符串匹配选择行,可以将Axis=0传递给Filter:

df.filter(like='hello', axis=0) 
 类似资料:
  • 我需要根据该值被选择的百分比概率选择一个值。例如: 时间增量值a的10% 时间增量值b的20% 时间增量值c的30% 时间增量值d的40% 百分比加起来总是正好100% 我遇到过几种像这样的解决方案,但我确定它们不可能是正确的。以下是使用上述解决方案构建的示例程序: 输出: 预期输出: 我相信我需要使用某种算法将百分比转换为从0到99的刻度,以便随机数生成器可以准确地选择一个值。不过,我想不出如何

  • 我希望使用本文提供的答案从列表中随机选择独特的项目。 按照所描述的方法,在我的循环的每次迭代中,我都会生成一个概率值,它是当前项目从列表中被选中的概率百分比。 我需要知道的是,我如何使用这个百分比值来选择项目(或不选择)。 这是我拥有的代码,是

  • 问题内容: 我想基于内部HTML使用CSS选择器设置仅第二个样式(innerHTML2)。这可能吗?我试过使用,但似乎不起作用。 问题答案: 使用CSS不可能做到这一点。但是,您可以使用jQuery。

  • 我有两个表和 names表有以下列表: -男性姓名从nameID 1到nameID 10 -女性姓名从nameID 11到nameID 21 -两者都从nameID 23到nameID 31 性别表有三个属性: -女性 -男性 -两者 我正在使用引导选择选项,我想显示从nameID11到nameid21的名称,如果用户从gender选择选项中选择女性,等等,这是可能的吗?我看到其他帖子,我注意到他

  • 我正在使用以下查询对象执行多匹配搜索: 我希望结果按高亮匹配的数量排序。例如,第一张唱片有5张。 elasticsearch.config.ts 示例数据