140

名前付きのパンダの列に整数でアクセスしようとしています。

を使用して、場所ごとに行を選択できますdf.ix[3]

しかし、整数で列を選択するにはどうすればよいですか?

私のデータフレーム:

df=pandas.DataFrame({'a':np.random.rand(5), 'b':np.random.rand(5)})
4

6 に答える 6

201

頭に浮かぶ2つのアプローチ:

>>> df
          A         B         C         D
0  0.424634  1.716633  0.282734  2.086944
1 -1.325816  2.056277  2.583704 -0.776403
2  1.457809 -0.407279 -1.560583 -1.316246
3 -0.757134 -1.321025  1.325853 -2.513373
4  1.366180 -1.265185 -2.184617  0.881514
>>> df.iloc[:, 2]
0    0.282734
1    2.583704
2   -1.560583
3    1.325853
4   -2.184617
Name: C
>>> df[df.columns[2]]
0    0.282734
1    2.583704
2   -1.560583
3    1.325853
4   -2.184617
Name: C

編集:元の回答では使用が提案されていましたdf.ix[:,2]が、この機能は現在廃止されています。ユーザーは に切り替える必要がありdf.iloc[:,2]ます。

于 2013-02-18T16:44:55.830 に答える
64

df.icol(n)を使用して、整数で列にアクセスすることもできます。

更新:icolは非推奨であり、次の方法で同じ機能を実現できます。

df.iloc[:, n]  # to access the column at the nth position
于 2013-04-11T12:01:51.120 に答える