Select 成对行,列 Pandas 值

Select Paired Row, Col Pandas Values

我相信这很容易,但找到或发现答案却不容易!我正在尝试 select 来自表示纬度(行:5,10,15 等)和经度(列:-98,-97, -96 等)。假设我的 df 看起来像这样:

df:

  lat -98 -97 -96 -95 -94
0   5   6   7   8   9  10
1  10  11  12  13  14  15
2  15  16  17  18  19  20
3  20  21  22  23  24  25
4  25  26  27  28  29  30

要通过单行和单列迭代提取的对,我需要以下内容:

dfnew:
0   6
1   12 
2   18
3   24
4   30

我在下面尝试过类似的事情,不同类型的循环太多了,无法在此处显示:

df.iloc[0:5,1:6] 

但这给了我所有的行和所有的列,我只需要一个配对值。 谢谢,

IIUC,你可以使用 numpy.diag:

import numpy as np
out = pd.Series(np.diag(df.drop(columns='lat')), index=df.index)

输出:

0     6
1    12
2    18
3    24
4    30

如果您想要 lat-long 对,那么也许:

out = pd.DataFrame({'lat': df['lat'], 'long': np.diag(df.drop(columns='lat'))})

输出:

   lat  long
0    5     6
1   10    12
2   15    18
3   20    24
4   25    30