Pandas,将DataFrames的值转换为元组DataFrame



我有一个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)

最新更新