首页 > 解决方案 > 我如何在 python 中更改数据框中的列值

问题描述

如果年龄 <=8 替换小年龄 >8 和年龄 <12 替换中年龄 >12 替换大,我如何更改年龄列的值。

import pandas as pd
data = pd.read_csv('abalone' )
data.columns= [  'Sex','Length','Diameter','Height','Whole_weight',
'Shucked_weight','Viscera_weight','shell_weight' ,'Rings']
data.head()
data["age"] = data["Rings"]+1.5
for row in data["age"]:
    if row < 12:
        data.loc[row,data["age"]]
    elif:
         data["age"][row]= "medium"
    else:
        data["age"][row]= "small"

标签: python-3.x

解决方案


这可以通过首先替换值然后将它们映射到实际需要的值来完成:

data.loc[data['age'] <= 8, 'age'] = 1
data.loc[(data['age'] > 8) & (data['age'] < 12 ), 'age'] = 2
data.loc[data['age'] > 12, 'age'] = 3

data['age'] = data['age'].map({1: 'small', 2: 'medium', 3:'large'})

希望这有帮助


推荐阅读