关于熊猫,我有2个数据帧:
数据帧1:
0 | a | 0
1 | a | 1
2 | a | 2
3 | b | 0
4 | b | 2
5 | c | 0
6 | c | 7
......(它继续)
数据帧2:
0 | a | X
1 | b | ÿ
2 | c | ž
......(它继续)
Dataframe1:
我需要在dataframe1中每个组的最后一个元素之后添加x,y。结果数据框应如下所示:
结果数据框:
0 | a | 0
1 | a | 1
2 | a | 2
3 | a | X
4 | b | 0
5 | b | 2
6 | b | ÿ
...
有什么想法吗?非常感谢!
答案 0 :(得分:1)
如果df1
中的值按第一列排序,请使用concat
+ sort_values
+ reset_index
:
df = pd.concat([df1,df2]).sort_values('a').reset_index(drop=True)
print (df)
a b
0 a 0
1 a 1
2 a 2
3 a x
4 b 0
5 b 2
6 b y
7 c 0
8 c 7
9 c z
用于在df1
中对值进行排序:
df1 = df1.sort_values('a')
输入:
print (df1)
a b
0 a 0
1 a 1
2 a 2
3 b 0
4 b 2
5 c 0
6 c 7
print (df2)
a b
0 a 0
1 a 1
2 a 2
3 a x
4 b 0
5 b 2
6 b y
7 c 0
8 c 7
9 c z
10 c z1
Corley Brigman评论的另一种解决方案:
df = pd.concat([df1.set_index('a'),df2.set_index('a')]).sort_index().reset_index()
print (df)
a b
0 a 0
1 a 1
2 a 2
3 a x
4 b 0
5 b 2
6 b y
7 c 0
8 c 7
9 c z
10 c z1