如何根据列表项仅从数据框中获取某些列?

How to get only some columns from dataframe based on list items?

我有一个名为 options=['pm1','pm10'] 的列表和一个包含更多列的数据框。我只想根据选项列表从数据框中获取 ds、y、pm1 和 pm10 选项。 想要的结果:

df=df[['ds', 'y', 'pm1', 'pm10']]

但是如何使用从列表中获取的 pm1 和 pm10 获得相同的结果呢? 我试过了:

df=df[['ds', 'y',options]]

但这会触发错误:

TypeError: unhashable type: 'list'

如何解决这个问题?

您可以在变量前使用 * 来解压它们。

尝试:df[['d', 'y', *options]] 看看是否可行。

试试下面的代码:

df=df[['ds', 'y',*options]]

如果您想知道为什么会这样。这是因为在此设置中 * 不是乘法,而是 iterable unpacking operator