通过列号对Pandas数据框进行子集

时间:2016-02-18 15:55:21

标签: python pandas

当我想从熊猫数据框的列中检索第j + 1个值时,我可以写:df["column_name"].ix[j]

当我检查上面代码的类型时,我得到:

type(df["column_name"].ix[i]) #str

我希望通过索引进行子集化来编写较少冗长的代码。所以我写道: df[[i]].ix[j]

然而,当我检查类型时,我得到:pandas.core.series.Series

我如何为索引子集重写这个以生成str

2 个答案:

答案 0 :(得分:2)

双重下标除了你所暗示的之外还做了其他事情 - 它返回相应列的 DataFrame

据我所知,使用列行排序执行您所要求的最短路径是

df.iloc[:, j].ix[i]

(有更短的

df.icol(j).ix[i]

但已被弃用。)

答案 1 :(得分:2)

这样做的一种方法是:

df.ix[i][j]

这有点时髦,因为第一个索引是行,第二个是列,而不是pandas。更像是矩阵索引而不是熊猫索引。