Fun*_*gie 2 python pandas apache-spark-sql
我困惑于如何将每行中溶剂列的值设置为数据框中第 num 列中的数字。例如,当溶剂是壬烷时,我需要 num 等于 9;当溶剂是辛烷等时,我需要 num 等于 8。任何帮助都会很棒。
.loc与布尔掩码一起使用
df.loc[df['solvent'] == 'NONANE', 'num'] = 9
df.loc[df['solvent'] == 'OCTANE', 'num'] = 8
Run Code Online (Sandbox Code Playgroud)
另一种方法是定义一个字典并调用map:
d = {'NONANE':9, 'OCTANE':8, 'HEPTANE':7, 'HEXANE':6}
df['num'] = df['solvent'].map(d)
Run Code Online (Sandbox Code Playgroud)