基于oth中的值检索数据帧的一行中的值

2024-05-23 14:24:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有多个数据帧,每个数据帧包含一个名为“location”的行和另一个名为“value”的行(两者都构成索引)。例如,假设我有以下2个:

df1 = pd.DataFrame(np.array([[-4,2,5],['nyc','sf','chi']]), columns=['col1','col2','col3'], index=['value','location'])

df2 = pd.DataFrame(np.array([[5,0,-3],['nyc','sf','chi']]), columns=['col1','col2','col3'], index=['value','location'])

数据帧将存放在一个字典中,我可以遍历它。最后,我要在单独的数据帧中检索每个“位置”的“值”列表。因此所需的输出如下所示:

enter image description here

这是一个有趣的例子,而我真正的一个将有更多的数据帧和源数据帧将有其他行以外的2个关键的我感兴趣的


Tags: columns数据dataframeindexvaluenplocationsf
2条回答

我建议set_indexconcat

(pd.concat([df.T.set_index('location')['value'] for df in [df1, df2]], axis=1)
   .T
   .reset_index(drop=True))

location nyc sf chi
0         -4  2   5
1          5  0  -3

使用merge

df1.T.merge(df2.T,on='location').set_index('location').T
location nyc sf chi
value_x   -4  2   5
value_y    5  0  -3

相关问题 更多 >