如何根据列名的字符串从 df 中提取整列? [复制]

Posted

技术标签:

【中文标题】如何根据列名的字符串从 df 中提取整列? [复制]【英文标题】:How to extract the entire column from a df based on a string of the column name? [duplicate] 【发布时间】:2019-12-15 03:02:08 【问题描述】:

我有 2 个 dfs:

df1 示例:s12

BacksGas_Flow_sccm  ContextID   StepID  Time_Elapsed
46.6796875           7289972     12       25.443
46.6796875           7289972     12       26.443

df2 示例:step12

ContextID   BacksGas_Flow_sccm  StepID  Time_Elapsed
7289973         46.6796875        12       26.388
7289973         46.6796875        12       27.388

由于BacksGas_Flow_sccm 在两个dfs 中的位置不同,我想知道如何使用df.columns.str.contains('Flow') 提取列

我试过了:

s12.columns[s12.columns.str.contains('Flow')]

但它只给出以下输出:

Index(['BacksGas_Flow_sccm'], dtype='object')

我希望提取整个列。如何做到这一点?

【问题讨论】:

【参考方案1】:

您很接近,使用DataFrame.loc: 来获取按条件过滤的所有行和列:

s12.loc[:, s12.columns.str.contains('Flow')]

另一个想法是按列名选择:

cols = s12.columns[s12.columns.str.contains('Flow')]
s12[cols]

【讨论】:

非常感谢@jezrael。当谈到熊猫时,你通常是我的救星:D 非常感谢它

以上是关于如何根据列名的字符串从 df 中提取整列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 .hdf5 文件表中提取列名并根据指定的列名提取特定行数据?

如何从 BigQuery 表中提取所有列名的列表?

根据python中的字符串匹配列名?

如何根据熊猫中的if-else条件从元组索引中提取字符串?

如何从火花数据框中提取 csv 名称

如何更改 pandas DataFrame 的最后 7 列的列名? [复制]