Предположим, что в кадре данных df и двух столбцах, в каждом из которых размещается соответственно значение массы и единица измерения. Два столбца будут выглядеть следующим образом:
df.head()
Mass Unit
0 14 g
1 1.57 kg
2 701 g
3 0.003 tn
4 0.6 kg
Я хочу иметь последовательную систему измерений и, таким образом, я выполняю следующее:
df['Mass']=np.where(df['Unit']=='g', df['Mass']/1000, df['Mass']) #1
df['Unit']=np.where(df['Unit']=='g', 'kg', df['Unit']) #2
df['Mass']=np.where(df['Unit']=='tn', df['Mass']*1000, df['Mass']) #3
df['Unit']=np.where(df['Unit']=='tn', 'kg', df['Unit']) #4
a) Есть ли способ выполнить # 1 & # 2 в одной строке, возможно, используя apply
? б) Можно ли выполнять № 1, № 2, № 3 и № 4 только в одной строке?
Спасибо за потраченное время!