pyPandas:处理join/append/concat两个数据帧

2024-09-26 22:09:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧:一个有12个col,另一个有9个,它们都有624行。我想把它们并排连接起来,得到一个具有相同624行数的21cols数据帧。我想保持行顺序不变。请注意,两个数据帧按列“Name”和列“L1”的降序排列。我试过用axis=1连接它们,不管是否忽略索引。我所拥有的只是一个行数加倍的数据帧和一堆nan。我也尝试了concat和append,但是没有成功。 感谢任何帮助。 最好的

n        Name  Position  ObsHET  PredHET  HWpval  %Geno  FamTrio  MendErr    MAF Alleles Rating
48  rs17818182  32945574   0.153    0.141  1.0000   98.9       29        0  0.076     G:T    NaN
45  rs17818176  32944041   0.033    0.033  1.0000  100.0       30        0  0.017     G:T    NaN
133  rs17818104  32879319   0.136    0.126  1.0000   98.9       29        0  0.068     T:C    NaN
105  rs17818087  32863970   0.241    0.307  0.2037   96.7       29        1  0.190     T:C    NaN
165  rs17818021  32794604   0.302    0.329  0.7637   85.6       20        0  0.208     A:C    NaN

           L1        L2      D   LOD     r2  CIlow  CIhi   Dist T-int
31331  rs17818182  rs640249  0.423  0.27  0.012   0.04  0.80  66596     -
31328  rs17818176  rs640249  1.000  0.21  0.014   0.05  0.97  65063     -
29083  rs17818104  rs640249  1.000  3.01  0.092   0.51  1.00    341     -
27571  rs17818087  rs640249  0.143  0.14  0.006   0.01  0.44  15008     -
14857  rs17818021  rs640249  0.311  0.68  0.033   0.06  0.57  84374     -

Tags: 数据namel1顺序colnanaxis降序
1条回答
网友
1楼 · 发布于 2024-09-26 22:09:39

另一种方法是在“Name”和“L1”上合并:

In [36]: df
Out[36]: 
   a         b         c
0  k -0.787279  1.431643
1  m  1.278970  2.294351
2  n  0.793787 -2.337330

In [37]: df2
Out[37]: 
   x         y         z
2  k -2.419514  1.178166
3  m -0.827535 -0.113485
4  n  0.135814 -0.612922

In [38]: df.merge(df2, left_on='a', right_on='x')
Out[38]: 
   a         b         c  x         y         z
0  k -0.787279  1.431643  k -2.419514  1.178166
1  m  1.278970  2.294351  m -0.827535 -0.113485
2  n  0.793787 -2.337330  n  0.135814 -0.612922

另一个是打电话DataFrame.reset_索引在调用merge之前,首先:

^{pr2}$

相关问题 更多 >

    热门问题