python - 检查行值 value 是否等于列名并访问该列的值

标签 python python-3.x pandas

示例数据框 -

<表类=“s-表”> <标题> col1 col2 col3 col4 colfromvaluestobepicked 新列 <正文> 1 1 0 1 'col1' 1 0 0 1 1 'col2' 0

我想创建一个新列,其值基于 colfromvaluestobepicked ('col1') 是否为 col1,然后选择该 col 值并将其分配给新的 col 等等。

我不知道如何实现这一目标?

最佳答案

使用DataFrame.melt用于替代lookup :

df1 = df.melt('colfromvaluestobepicked', ignore_index=False)

df['new']=df1.loc[df1['colfromvaluestobepicked'].str.strip("'") == df1['variable'],'value']

关于python - 检查行值 value 是否等于列名并访问该列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69311932/

相关文章:

python - Pandas 数据框中并发调用分数之间的差异

python - 值错误 : unknown url type

使用 iso-8859-1 编码的主题进行 Python IMAP 搜索

python - 有没有办法在Python中实现全局计算属性?

python - 无法在 Colab 中安装 scikit-learn-intelex

python - 根据较小的日期范围对 Pandas 数据框求和

python - 基于多个条件的重复数据删除 python 列表

python - list.clear() 与 list = [] 有何不同?

Python:将小于(<)运算符与 `and` 关键字结合起来?

Python Pandas : type error in groupby