你能用loc来选择一系列的列加上一个超出范围的列吗?

Res*_*hRn 6 python dataframe python-3.x pandas

假设我想从数据框中选择一系列列:将它们称为"column_1"到"column_60".我知道我可以使用这样的loc: df.loc[:, 'column_1':'column_60'] 这将给我1-60列中的所有行.

但是如果我想要那个列的范围加'column_81'怎么办?这不起作用: df.loc[:, 'column_1':'column_60', 'column_81']

它会抛出"Too many indexers"错误.有没有另一种方法来说明使用loc?或者在这种情况下甚至是最好的功能?

非常感谢.

tar*_*pka 2

怎么样

df.loc[:, [f'column_{i}' for i in range(1, 61)] + ['column_81']]
Run Code Online (Sandbox Code Playgroud)

或者

df.reindex([f'column_{i}' for i in range(1, 61)] + ['column_81'], axis=1)
Run Code Online (Sandbox Code Playgroud)

如果您想用默认值填充缺失的列(如果有)NaN