Numpy 数据帧2 dim索引片

Numpy 数据帧2 dim索引片,numpy,pandas,slice,Numpy,Pandas,Slice,我在使用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上的df_索引返回。您将看到如何在索引中为每列选择值 A_x B_y 0 15 95 1 15 91 2 1

我在使用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上的df_索引返回。您将看到如何在索引中为每列选择值

   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方式执行此操作?

通常不使用索引数组,如x dim位于两列中。和他一起工作很奇怪。然而,这将是非常快的

In [85]: DataFrame({'A' : df.iloc[df_index['x'].values]['A'].reset_index(drop=True), 
                    'B' : df.iloc[df_index['y'].values]['B'].reset_index(drop=True)})
Out[85]: 
    A   B
0  15  95
1  15  91
2  11  94
3  13  93
4  12  92
5  12  92
6  12  92
7  11  95

[8 rows x 2 columns]
In [85]: DataFrame({'A' : df.iloc[df_index['x'].values]['A'].reset_index(drop=True), 
                    'B' : df.iloc[df_index['y'].values]['B'].reset_index(drop=True)})
Out[85]: 
    A   B
0  15  95
1  15  91
2  11  94
3  13  93
4  12  92
5  12  92
6  12  92
7  11  95

[8 rows x 2 columns]