我试图找到列表中所有数字的平均值,一个问题是它一直给我一个错误,因为我可能认为它不允许程序添加非整数值。
df = pd.DataFrame.from_csv('train.csv')
result = df[(df.Sex=='female') & (df.Pclass==3)]
list_of_ages = []
list_of_ages = '\n'.join(str(x) for x in result.Age)
for v in list_of_ages:
average_value = sum(v) / len(v)
print(list_of_ages)
当我打印列表的所有值时,它显示了这一点。
26.0
27.0
4.0
14.0
31.0
nan
15.0
8.0
38.0
nan
nan
18.0
14.0
40.0
19.0
nan
18.0
17.0
16.0
30.0
nan
33.0
28.0
21.0
nan
14.5
20.0
17.0
2.0
nan
47.0
nan
22.0
24.0
9.0
16.0
45.0
1.0
nan
4.0
nan
19.0
nan
2.0
16.0
27.0
nan
5.0
nan
nan
nan
25.0
29.0
41.0
29.0
nan
nan
45.0
35.0
22.0
24.0
nan
26.0
31.0
nan
nan
nan
nan
45.0
nan
nan
3.0
22.0
1.0
24.0
31.0
21.0
20.0
nan
nan
10.0
28.0
nan
21.0
5.0
0.75
22.0
2.0
63.0
nan
21.0
nan
37.0
nan
30.0
9.0
11.0
22.0
36.0
nan
29.0
nan
nan
nan
39.0
nan
26.0
9.0
41.0
2.0
0.75
23.0
nan
18.0
32.0
18.0
43.0
nan
4.0
nan
18.0
nan
25.0
48.0
30.5
5.0
13.0
18.0
nan
31.0
30.0
18.0
6.0
23.0
27.0
15.0
9.0
18.0
24.0
nan
15.0
22.0
39.0
nan
我只想对所有值求和,忽略非浮点值并找到均值。
谢谢
答案 0 :(得分:0)
您的代码存在多个问题,其中之一是list_of_ages
实际上不是列表,而是字符串。
暂且不说,您只需使用pandas.Series.mean()
方法:
result = df[(df.Sex=='female') & (df.Pclass==3)]
mean_age = result.Age.mean()