根据python中年龄列的条件计算平均年龄

时间:2016-11-23 10:09:39

标签: python r

我有一个R代码,我正在努力翻译python。请帮忙

df$age[(df$age < 18)] <- mean(df$age[(df$age >= 18) & (df$age <=30)],na.rm=TRUE)

1 个答案:

答案 0 :(得分:2)

编辑:我在数据中添加None以获取NaN中的DataFrame

可能

df.age[(df.age < 18)] = df.age[(df.age >= 18) & (df.age <= 30)].mean()

工作示例

import pandas as pd

data = {'age': [6, 4, 18, 21, 30, 45, None]}

df = pd.DataFrame(data)

print(df)
print('---')

df.age[(df.age < 18)] = df.age[(df.age >= 18) & (df.age <= 30)].mean()

print(df)
print('---')

结果

    age
0   6.0
1   4.0
2  18.0
3  21.0
4  30.0
5  45.0
6   NaN
---
    age
0  23.0
1  23.0
2  18.0
3  21.0
4  30.0
5  45.0
6   NaN
---