【发布时间】: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方式?
【问题讨论】:
在 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方式?
【问题讨论】:
您可以使用列表推导式,例如:
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
【讨论】: