为了账号安全,请及时绑定邮箱和手机立即绑定

如果单位和重量值在不同的列中,则将重量转换为千克单位

如果单位和重量值在不同的列中,则将重量转换为千克单位

蛊毒传说 2022-07-19 16:33:23
我有一个大数据集,但是,我确实有两列,一列用于重量,另一列用于重量单位,我确实想对重量列进行一些计算,但首先我想将它们全部转换为千克,所以有人可以关于如何检查单位列的帮助,如果我找到它的克,我将重量列值转换为千克:这是数据集的样子import pandas as pd # intialise data of lists. data = {'Weghts':[2.00, 3.50, 2050.00, 4019.00],'weight_units':['Kilograms', 'kilograms', 'Grams', 'Grams']} # Create DataFrame dfy = pd.DataFrame(data) # Print the output. print(dfy)我的最终结果是重量列中的所有值都以千克为单位
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

您可以将所有匹配的值除以1000:


dfy.loc[dfy['weight_units'].eq('Grams'), 'Weghts'] /= 1000

print(dfy)

   Weghts weight_units

0   2.000    Kilograms

1   3.500    kilograms

2   2.050        Grams

3   4.019        Grams

或解决方案numpy.where:


dfy['Weghts'] = np.where(dfy['weight_units'].eq('Grams'), dfy['Weghts'] / 1000, dfy['Weghts'])


查看完整回答
反对 回复 2022-07-19
?
潇湘沐

TA贡献1816条经验 获得超6个赞

一种选择是使用 numpy where 并将值重新分配给 Weghts 列:

df.assign(Weghts = lambda x: np.where(x.weight_units=="Grams",x.Weghts * .001, 
                                      x.Weghts))


查看完整回答
反对 回复 2022-07-19
  • 2 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信