从Pandas DataFrame中选择列

时间:2014-05-28 03:52:24

标签: python python-2.7 python-3.x

我正在尝试在数据框中选择不同的列和行 以下是一些例子

df1 = DataFrame(np.random.randn(6,4), index=list('abcdef'), columns=list('ABCD'))


    A   B   C   D
a   -0.767663    0.158213    0.502184    0.156238
b   -0.450274   -0.287952   -0.666661   -0.934083
c    2.142362   -1.212363    0.075363   -0.270905
d    0.075977    1.355053   -1.665973    1.266896
e   -1.251002    0.274878   -0.511252    1.734822
f   -0.587612    0.731301   -0.680246    0.286389

示例1:

df1.loc[['a','b','d'],:]


       A                  B             C              D
a   -0.767663    0.158213    0.502184    0.156238
b   -0.450274   -0.287952   -0.666661   -0.934083
d    0.075977    1.355053   -1.665973    1.26689

例2:

df1.loc [[ 'A', 'B'],: 'B']

A   B
a   -0.767663    0.158213
b   -0.450274   -0.2879520

示例3:

df1.loc['d':,'A':'C']
    A   B   C
d    0.075977    1.355053   -1.665973
e   -1.251002    0.274878   -0.511252
f   -0.587612    0.731301   -0.680246

范例4:

df1.loc[['d','e'],:'A']

    A
d    0.075977
e   -1.251002

举例5:

df1.loc [['a','d'],:['B','D']] ==>不是有效的语法

错误:IndexError:无效切片

有关如何为行a和d

选择列B和D的任何提示

1 个答案:

答案 0 :(得分:0)

就这样做:

df1.loc[['a','d'],['B','D']]

i:j表示您需要从i到j的切片(如示例3中所示)

此处您不需要切片,因此您不需要: