我有一个DataFrame:
0 1 2
0 1 4 7
1 2 5 8
2 3 6 9
和第二个DataFrame:
0 1 2
0 10 13 16
1 11 14 17
2 12 15 18
我需要这两个数据帧变成这一个数据帧:
0 1 2
0 (1, 10) (4, 13) (7, 16)
1 (2, 11) (5, 14) (8, 17)
2 (3, 12) (6, 15) (9, 18)
我需要漂亮的小元组,所有这些都在一帧中。这怎么可能?
在两个DataFrames中创建元组并通过+
:连接
df = df1.applymap(lambda x: (x, )) + df2.applymap(lambda x: (x, ))
print (df)
0 1 2
0 (1, 10) (4, 13) (7, 16)
1 (2, 11) (5, 14) (8, 17)
2 (3, 12) (6, 15) (9, 18)
或按concat
联接,按索引tuple
:聚合
df = pd.concat([df1, df2]).groupby(level=0).agg(tuple)
print (df)
0 1 2
0 (1, 10) (4, 13) (7, 16)
1 (2, 11) (5, 14) (8, 17)
2 (3, 12) (6, 15) (9, 18)