为了账号安全,请及时绑定邮箱和手机立即绑定

基于两列合并数据帧

基于两列合并数据帧

萧十郎 2021-07-12 12:08:38
我有两个数据框。一个包含所有突变的列表(+ 相关分数),另一个包含实际观察到的突变子集(+ 测量值)。我想将我的第二个数据框(观察到的子集)合并到我更大的数据框(所有可能的)中,并带来与观察到的突变(拟合值)相关的数据。但是,当我这样做时,我的合并数据框显示所有拟合值的 NaN。我尝试合并的代码如下,其中包含我的数据帧示例和结果输出(如 s1)。s1 = pd.merge(data_frame, data_frame_2, how='left', on=['position', 'mutation'])    data_frame #all possibleposition    mutation    A_score Normalized_A_Score0   1   *   0.00    0.0000001   1   A   849.69  100.0070622   1   C   849.94  100.0364863   1   D   849.76  100.0153014   1   E   849.67  100.0047085   1   F   849.00  99.9258506   1   G   849.56  99.9917617   1   H   849.83  100.0235408   1   I   849.63  100.0000009   1   K   851.51  100.22127310  1   L   849.56  99.99176111  1   M   849.63  100.00000012  1   N   849.63  100.00000013  1   P   849.00  99.92585014  1   Q   849.13  99.94115115  1   R   851.70  100.24363516  1   S   849.15  99.94350517  1   T   849.94  100.03648618  1   V   849.63  100.00000019  1   W   849.00  99.92585020  1   Y   849.10  99.937620data_frame_2 #observedposition    mutation    fit_val adjusted_fit_val0   1   *   0.633847    0.2745551   1   A   0.832698    0.4734062   1   C   0.857012    0.4977193   1   D   0.873119    0.5138274   1   E   0.859805    0.5005125   1   F   0.359053    -0.0002396   1   G   0.786489    0.4271977   1   H   0.876687    0.5173958   1   I   0.820826    0.4615349   1   K   0.886447    0.52715410  1   L   0.868197    0.50890511  1   N   0.909416    0.55012412  1   P   0.843697    0.48440513  1   Q   0.838892    0.47960014  1   R   0.878175    0.51888315  1   S   0.981739    0.62244616  1   T   0.709694    0.35040217  1   W   0.866746    0.50745318  1   Y   0.876647    0.517355当我将数据框合并在一起时,为什么 data_frame_2 中的 fit_val 或 adjust_fit_val 列值不会显示?感谢您对理解的任何帮助!
查看完整描述

1 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

我认为有不同类型的列position- 字符串和整数:


data_frame['position'] = data_frame['position'].astype(int)

data_frame_2['position'] = data_frame_2['position'].astype(int)


s1 = pd.merge(data_frame, data_frame_2, how='left', on=['position', 'mutation'])

print (s1)

    position mutation  A_score  Normalized_A_Score   fit_val  adjusted_fit_val

0          1        *     0.00            0.000000  0.633847          0.274555

1          1        A   849.69          100.007062  0.832698          0.473406

2          1        C   849.94          100.036486  0.857012          0.497719

3          1        D   849.76          100.015301  0.873119          0.513827

4          1        E   849.67          100.004708  0.859805          0.500512

5          1        F   849.00           99.925850  0.359053         -0.000239

6          1        G   849.56           99.991761  0.786489          0.427197

7          1        H   849.83          100.023540  0.876687          0.517395

8          1        I   849.63          100.000000  0.820826          0.461534

9          1        K   851.51          100.221273  0.886447          0.527154

10         1        L   849.56           99.991761  0.868197          0.508905

11         1        M   849.63          100.000000       NaN               NaN

12         1        N   849.63          100.000000  0.909416          0.550124

13         1        P   849.00           99.925850  0.843697          0.484405

14         1        Q   849.13           99.941151  0.838892          0.479600

15         1        R   851.70          100.243635  0.878175          0.518883

16         1        S   849.15           99.943505  0.981739          0.622446

17         1        T   849.94          100.036486  0.709694          0.350402

18         1        V   849.63          100.000000       NaN               NaN

19         1        W   849.00           99.925850  0.866746          0.507453

20         1        Y   849.10           99.937620  0.876647          0.517355


查看完整回答
反对 回复 2021-07-21
  • 1 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信