有人知道如何将反向数据帧附加到给定的数据帧吗?我代表道路。每个唯一的id
代表数据帧中的一条路径。给定列x,y,t,id,frequency
,我主要要反转x,y
的值,并将它们附加到输入数据帧。 id
应该继续增加,而frequency
可以保持与原始版本相同。
我的意思是,这并不是一个完全相反的选择,而是更像下面的示例:
df1 = pd.DataFrame({'x':[1,1,2,9,9], 'y':[1,2,2,100,101],'t':[1,2,3,1,2],'id':[1,1,1,2,2]},'frequency':[5,5,5,1,1]})
x y t id frequency
1 1 1 1 5
1 2 2 1 5
2 2 3 1 5
9 100 1 2 1
9 101 2 2 1
应成为:
x y t id frequency
1 1 1 1 5
1 2 2 1 5
2 2 3 1 5
9 100 1 2 1
9 101 2 2 1
------------------- ---> here begins the reverse
2 2 1 3 5
1 2 2 3 5
1 1 3 3 5
9 101 1 4 1
9 100 2 4 1
我尝试了一些方法,但是找不到解决方案。有人知道怎么做吗?
答案 0 :(得分:1)
尝试对原始框架进行排序,然后将其附加到原始框架:
df.append(df.sort_values(by = 'frequency'))
答案 1 :(得分:0)
我现在想到了这个。除了第t
列以外,我想做的一切
import pandas as pd
df1 = pd.DataFrame({'x':[1,1,2,9,9], 'y':[1,2,2,100,101],'t':[1,2,3,1,2],'id':[1,1,1,2,2],'frequency':[5,5,5,1,1]})
df2= df1[::-1]
id_amount=df2['id'].nunique()
df2['id'] = df2['id'].apply(lambda x: x + id_amount)
df2=df2.sort_values(by=['id'])
df1=df1.append(df2)