根据另一列将列设置为等于值 pandas
Setting column equal to value depending on another column pandas
我对如何将每行中溶剂列的值设置为数据框中第 num 列中的数字感到困惑。例如,当溶剂为壬烷时我需要 num 等于 9,当溶剂为辛烷等时我需要 num 等于 8。任何帮助都会很棒。
使用 .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)
我对如何将每行中溶剂列的值设置为数据框中第 num 列中的数字感到困惑。例如,当溶剂为壬烷时我需要 num 等于 9,当溶剂为辛烷等时我需要 num 等于 8。任何帮助都会很棒。
使用 .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)