【问题标题】:Compare the two columns of the dataframe and create a new one比较数据框的两列并创建一个新列
【发布时间】:2019-10-22 12:38:23
【问题描述】:

我对@9​​87654321@ 完全陌生,我在这里尝试比较数据框的列,我的数据框是这样的,

Document_ID  offset  JAPE      RFC      MANUAL
    0        0      2000       2000    2000
    0        7      2000       2000    2000
    0        16     51200       0      51200
    0        27     51200       0      51200
    0        36     51200       0      51200
    1        0      2000       2000    2000
    1        3      2000       0       2000
    1        4      2200       2200    2200

现在,我想做的是,我正在尝试比较

JAPE column with the manual column
RFC column with the manual column

现在,我在这里尝试使用compare [JAPE] == compare[MANUAL] 但后来我知道数据之间存在一些差异。

所以,我现在正在尝试使用offset 列,

like for offset 0 of document_ID 0 compare JAPE and MANUAL 如果两者相等,那么我正在尝试添加新列 JAPE_MANUAL true or false or 0 or 1

因此,我尝试仅使用偏移量来做到这一点。

任何人都可以帮助我或提供一些提示吗?谢谢

预期输出 -

 Document_ID     offset  JAPE      RFC      MANUAL  JAPE_MANUAL
        0        0      2000       2000    2000          1
        0        7      2000       2000    2000          1
        0        16     51200       0      51200         1 
        0        27     51200       0      51200          1
        0        36     51200       0      51200         1
        1        0      2000       2000    2000          1
        1        3      2000       0       2000          1
        1        4      2200       2200    2400          0

这基于偏移量。

【问题讨论】:

  • 发布您的预期输出
  • 我刚刚更新了预期的输出
  • 所以你想比较一下 JAPE 和 MANUAL?
  • 是的,但基于我在问题中所说的偏移量以及文档 ID
  • 我的代码工作正常吗?

标签: python python-3.x pandas numpy


【解决方案1】:

无需使用 numpy 或其他任何东西。

df["JAPE_MANUAL"] = df["JAPE'] == df["MANUAL"]

【讨论】:

    【解决方案2】:

    你需要np.where

    import numpy as np
    df["JAPE_MANUAL"] = np.where(df['JAPE'] == df['MANUAL'],1,0)
    

    【讨论】:

      【解决方案3】:

      通常根据其他列值形成一个新列(由 1 或 0 组成,但您可以轻松概括),您可以使用以下值

      df['newColumn']=df.apply(lambda x: 1 if x['column1']==x['column2'] else 0, axis=1)
      

      希望背后的想法很清楚,您可以根据具体问题进行调整

      问候,

      【讨论】:

        猜你喜欢
        • 2020-02-04
        • 1970-01-01
        • 2022-11-18
        • 2019-12-20
        • 2021-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多