使用dict查找对循环进行矢量化

2024-04-26 20:20:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据帧,我想通过将数据列的每一行乘以适当的因子,将单位标准化为mg/kg:

df
Out[28]: 
  analyte  data   unit
0       A  2.34  mg/kg
1       B  5.89  ng/kg
2       C  1.25  ug/kg
3       D  8.65  mg/kg

如何将以下代码矢量化(因为实际的数据帧稍微大一些):

units = {
        "mg/kg": 1,
        "ug/kg": 1e+3,
        "ng/kg": 1e+6
        }

for index, row in df.iterrows():
    df.at[index,'data'] = row['data'] * units[row['unit']]

df['unit'] = 'mg/kg'

Tags: 数据dfdataindexunit单位outng