gpt4 book ai didi

python - Pandas - 使用可变列输入计算新列

转载 作者:行者123 更新时间:2023-11-30 22:03:29 24 4
gpt4 key购买 nike

问题就在这里......想象一下以下数据框作为示例:

df = pd.DataFrame({'col1': [1, 2, 3, 4, 5], 'col2': [3, 4, 5, 6, 7],'col3': [3, 4, 5, 6, 7],'col4': [1, 2, 3, 3, 2]})

现在,我想添加另一列“col 5”,其计算如下:

如果“col4”的值为1,则给我索引为1的列中的相应值(即本例中的“col2”),如果“col4”为2,则给我索引为1的列中的相应值索引 2(即本例中的“col3”)等。

我已经尝试了以下方法及其变体,但我似乎无法获得正确的结果

df["col5"] = df.apply(lambda x: df.iloc[x,df[df.columns[df["col4"]]]])

非常感谢任何帮助!

最佳答案

如果您的'col4'是列索引的指示符,那么这将起作用:

df['col5'] = df.apply(lambda x: x[df.columns[x['col4']]], axis=1)

df

# col1 col2 col3 col4 col5
#0 1 3 3 1 3
#1 2 4 4 2 4
#2 3 5 5 3 3
#3 4 6 6 3 3
#4 5 7 7 2 7

关于python - Pandas - 使用可变列输入计算新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53539544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com