根据另一列pandas将列设置为等于值

时间:2015-12-08 14:23:24

标签: python pandas spark-dataframe

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

enter image description here

1 个答案:

答案 0 :(得分:3)

.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)