Python数据框-如何选择名称中包含特定子字符串的所有列[重复]

Posted

技术标签:

【中文标题】Python数据框-如何选择名称中包含特定子字符串的所有列[重复]【英文标题】:Python data frames - how to select all columns that have a specific substring in their name [duplicate] 【发布时间】:2016-03-26 23:00:32 【问题描述】:

在 Python 中,我有一个数据框 (df),其中包含具有以下名称的列 A_OPEN、A_CLOSE、B_OPEN、B_CLOSE、C_OPEN、C_CLOSE、D_ 等.....

如何轻松地仅选择名称中包含 _CLOSE 的列? A、B、C、D、E、F 等可以有任何值,所以我不想使用特定的列名

在 SQL 中,这将使用 like 运算符完成:df[like'%_CLOSE%']

什么是python方式?

【问题讨论】:

【参考方案1】:

您可以使用列表推导式,例如

df[[x for x in df.columns if "_CLOSE" in x]]

例子:

df = pd.DataFrame(
   columns = ['_CLOSE_A', '_CLOSE_B', 'C'],
   data = [[2,3,4], [3,4,5]]
)

那么,

>>>print(df[[x for x in df.columns if "_CLOSE" in x]])
   _CLOSE_A  _CLOSE_B
0         2         3
1         3         4

【讨论】:

以上是关于Python数据框-如何选择名称中包含特定子字符串的所有列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

pandas删除dataframe列名称中包含特定字符串的数据列(dropping columns contains specifiec substring in dataframe)

如何创建一个 SSIS 包,该包循环使用名称中包含特定关键字的 excel 文件?

Flyway-在名称中包含指定后缀的所有表中添加一列

SQL如何查找和删除MYSQL数据库中包含特定字符串的记录

删除熊猫数据框中包含特定值的列和行[重复]

Linux中如何杀掉进程中包含特定字符串的所有进程