根据另一列熊猫设置列等于值

Posted

技术标签:

【中文标题】根据另一列熊猫设置列等于值【英文标题】:Setting column equal to value depending on another column pandas 【发布时间】:2015-12-08 14:23:24 【问题描述】:

我被困在如何将每行中溶剂列的值设置为数据框中 num 列中的数字。例如,当溶剂为壬烷时,我需要 num 等于 9,当溶剂为辛烷等时,我需要 num 等于 8。任何帮助都会很好。

【问题讨论】:

通常你应该发布文本而不是图像,因为它允许其他人复制粘贴你的输入数据 【参考方案1】:

.loc 与布尔掩码一起使用

df.loc[df['solvent'] == 'NONANE', 'num'] = 9
df.loc[df['solvent'] == 'OCTANE', 'num'] = 8

另一种方法是定义一个字典并调用map

d = 'NONANE':9, 'OCTANE':8, 'HEPTANE':7, 'HEXANE':6
df['num'] = df['solvent'].map(d)

【讨论】:

以上是关于根据另一列熊猫设置列等于值的主要内容,如果未能解决你的问题,请参考以下文章

熊猫:设置列等于另一列的分组总和[重复]

熊猫通过根据另一列的值添加列级别来重塑数据框[重复]

根据另一列的值修改熊猫中的日期时间列

如何根据另一列中的单元格值有条件地填充熊猫列

如果满足条件,熊猫将值从一列复制到另一列

根据熊猫中的另一个列值有条件地填充列值