我有一个R代码,我正在努力翻译python。请帮忙
df$age[(df$age < 18)] <- mean(df$age[(df$age >= 18) & (df$age <=30)],na.rm=TRUE)
答案 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
---