【发布时间】:2015-05-28 07:22:51
【问题描述】:
我一直在寻找通过 python 文档和论坛选择列的方法,但是关于索引列的每个示例都过于简单。
假设我有一个 10 x 10 的数据框
df = DataFrame(randn(10, 10), index=range(0,10), columns=['A', 'B', 'C', 'D','E','F','G','H','I','J'])
到目前为止,所有文档都只是一个简单的索引示例
subset = df.loc[:,'A':'C']
或
subset = df.loc[:,'C':]
但是当我尝试索引多个非顺序列时出现错误,像这样
subset = df.loc[:,('A':'C', 'E')]
如果我想选择列 A 到 C、E 和 G 到 I,我将如何在 Pandas 中建立索引?看来这个逻辑是行不通的
subset = df.loc[:,('A':'C', 'E', 'G':'I')]
我觉得解决方案很简单,但我无法绕过这个错误。谢谢!
【问题讨论】:
-
你必须建立一个所有感兴趣的列的列表并像
df[col_list]这样传递它,这里的问题是解析它会变得有问题,因为('A':'C')不是一个有效的元组反正 -
这在普通索引中是不可能的:你可以给出一个切片(如
'A':'C'),或者一个标签列表(如['A', 'B', 'C']),但不能同时提供两者。