用python重塑大Pandas数据帧

2024-04-20 10:36:02 发布

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

我正试图重塑如下所示的数据帧。有些道路具有多个协调和定位点。我想有一个单一的行每一条道路与所有的数据点后,对方。您可以在下面的数据框中找到所需的输出。保持指数并不重要。你知道吗

太好了!你知道吗

index   road          lrp      lat                 lon
1346    N1           LRP467    20.862972        92.298083
1347    N1           LRPE      20.862917        92.298083
1348    N101         LRPS      23.454139        91.212861
1349    N101         LRPSa     23.461889        91.212000

所需输出:

index   road          lrp1     lat1         lon1        lrp2  lat2          lon2
1346    N1           LRP467    20.862972    92.298083   LRPE  20.862917     92.298083
1348    N101         LRPS      23.454139    91.212861  LRPSa  23.461889     91.212000

我的实际数据帧比这个示例大得多(超过10000条记录),因此如果您知道一个可以应用于更大数据帧的解决方案,将非常有用。你知道吗


Tags: 数据index指数重塑道路road定位点n1
1条回答
网友
1楼 · 发布于 2024-04-20 10:36:02

假设index是索引而不是列:

m= df.groupby(['road']).cumcount() + 1
df = df.set_index(['road', m]).unstack().sort_index(1, level=1)
df.columns = ['_'.join(map(str,i)) for i in df.columns]
print(df.reset_index())

   road      lat_1      lon_1   lrp_1      lat_2      lon_2  lrp_2
0    N1  20.862972  92.298083  LRP467  20.862917  92.298083   LRPE
1  N101  23.454139  91.212861    LRPS  23.461889  91.212000  LRPSa

相关问题 更多 >