Pandas可以做到这一点以及更多...
In [41]: import pandas as pd
In [122]: a = np.random.randint(100, size=(5, 3))
In [123]: a
Out[123]:
array([[53, 7, 34],
[54, 56, 85],
[ 0, 11, 83],
[63, 28, 88],
[65, 19, 44]])
In [124]: df = pd.DataFrame(a, index=list('abcde'), columns=list('xyz'))
In [125]: df
Out[125]:
x y z
a 53 7 34
b 54 56 85
c 0 11 83
d 63 28 88
e 65 19 44
In [126]: df.loc[['a','d'], ['x','y']]
Out[126]:
x y
a 53 7
d 63 28
我们可以使用.values
访问总是从数据帧一numpy的数组:
In [127]: df.values
Out[127]:
array([[53, 7, 34],
[54, 56, 85],
[ 0, 11, 83],
[63, 28, 88],
[65, 19, 44]])
In [128]: df.loc[['a','d'], ['x','y']].values
Out[128]:
array([[53, 7],
[63, 28]])
为什么不使用字典? – Y0da
因为我需要将它提供给使用np 2d数组的IIle的sklearn。 – clwen