我有一堆带有浮点值的pandas数据帧。我想用pandas连接它们。
df1 =
hapX_Sp_Sum
contig pos F1_2ms04h_PI
0 2 16229767 726 3.5
1 2 16229783 726 3.5
2 2 16229880 726 2.0
3 2 16229891 726 2.0
4 2 16229982 726 0.0
5 2 16229992 726 0.0
df2 =
hapX_My_Sum
contig pos F1_2ms04h_PI
0 2 16229767 726 0.0
1 2 16229783 726 0.0
2 2 16229880 726 0.0
3 2 16229891 726 0.0
4 2 16229982 726 0.0
5 2 16229992 726 0.0
我将它们连接为:
frames = [df1, df2]
merged_df = pd.concat(frames, axis = 1)
我得到的输出:
hapX_My_Sum hapX_Sp_Sum
contig pos F1_2ms04h_PI
0 2 16229767 726 0.0 NaN
1 2 16229783 726 0.0 NaN
2 2 16229880 726 0.0 NaN
3 2 16229891 726 0.0 NaN
4 2 16229982 726 0.0 NaN
5 2 16229992 726 0.0 NaN
每列中的值都是浮点数,但为什么我遇到这个NaN问题呢?我使用浮点值的pd.sum()
生成了这些数据帧,这应该导致列中的每个值都是浮点数。这很奇怪,任何想法?
谢谢,
答案 0 :(得分:1)
这对我来说很正常,因为你沿着行连接起来。所以是的,hapX_Sp_Sum
在第一个数据帧中当然是空的。如果你打印更多行,你会发现非空值(这次是其他列的NaN)
我怀疑你真正想做的是
merged_df = pd.concat(frames, axis = 0)