【发布时间】:2014-04-19 20:48:46
【问题描述】:
我在使用 2 暗索引切片时遇到问题。
我有以下数据框
df = pd.DataFrame([(11,91),(12,92),(13,93),(14,94),(15,95)],columns =list('AB'))
A B
0 11 91
1 12 92
2 13 93
3 14 94
4 15 95
然后我会有一个“索引数组”
df_index = pd.DataFrame([(4,4),(4,0),(0,3),(2,2),(1,1),(1,1),(1,1),(0,4)],columns =list('xy'))
x y
0 4 4
1 4 0
2 0 3
3 2 2
4 1 1
5 1 1
6 1 1
7 0 4
我想使用 df 上的 df_index 来返回。您会看到如何在每列的索引上选择值
A_x B_y
0 15 95
1 15 91
2 11 94
3 13 93
4 12 92
5 12 92
6 12 92
7 11 95
我可以通过创建一个循环并分别对每一列进行索引来做到这一点
loop 1:
df['A'][df_indexes['x'].values]
lopp 2:
df['B'][df_indexes['y'].values]
然后将它们重新组合在一起。
如何以一种 numpy 的方式一次性做到这一点?
【问题讨论】: