我相信这是容易的,但找到或发现答案不是!我试图从表示纬度(行:5、10、15等)和经度(cols:-98、-97、-96等)的行和列的df (5,5)大小中选择配对值。假设我的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] 但是这给了我所有的行和所有的列,我只需要一个成对的值。谢谢,
发布于 2022-04-14 19:47:41
你可以用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如果你想要一双长一点的,那么也许:
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 30https://stackoverflow.com/questions/71876885
复制相似问题