【问题标题】:How to append a column to a dataframe with values from a specified column index [duplicate]如何使用来自指定列索引的值将列附加到数据框[重复]
【发布时间】:2020-12-12 10:34:30
【问题描述】:

我有一个数据框,其中一列用于指定其他列中的哪一列具有我正在寻找的特定值。

df = pd.DataFrame({'COL1':['X','Y','Z'],'COL2':['A','B','C'],'X_SORT':['COL1','COL2','COL1']})

我正在尝试添加一个名为“X_SORT_VALUE”的新列并分配 X_SORT 列中标识的列的值。

df = df.assign(X_SORT_VALUE=lambda x: (x['X_SORT']))

但我得到了 X_SORT 列的值:

  COL1 COL2 X_SORT X_SORT_VALUE
0    X    A   COL1         COL1
1    Y    B   COL2         COL2
2    Z    C   COL1         COL1

而不是像我想要的那样获取该列索引的值:

  COL1 COL2 X_SORT X_SORT_VALUE
0    X    A   COL1         X
1    Y    B   COL2         B
2    Z    C   COL1         Z

【问题讨论】:

    标签: python-3.x pandas


    【解决方案1】:

    你需要df.lookup这里:

    df['X_SORT_VALUE'] = df.lookup(df.index,df['X_SORT'])
    

      COL1 COL2 X_SORT X_SORT_VALUE
    0    X    A   COL1            X
    1    Y    B   COL2            B
    2    Z    C   COL1            Z
    

    【讨论】:

      猜你喜欢
      • 2020-09-12
      • 1970-01-01
      • 2022-01-17
      • 2019-04-29
      • 2016-01-20
      • 2015-06-22
      • 2021-06-06
      • 2019-10-12
      • 2017-10-17
      相关资源
      最近更新 更多