Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫数据框中的均值定义是什么?_Python_Pandas_Mean_Dataframe - Fatal编程技术网

Python 熊猫数据框中的均值定义是什么?

Python 熊猫数据框中的均值定义是什么?,python,pandas,mean,dataframe,Python,Pandas,Mean,Dataframe,我有一个数据框,希望从其中一列中获得值的平均值。如果我这样做: print df['col_name'][0:1] print df['col_name'][0:1].mean() 我得到: 0 2 Name: col_name 2.0 0 2 1 1 Name: col_name 10.5 0 2 1 1 2 2 Name: col_name 70.6666666667 如果我这样做: print df['col_name'][0:2] print

我有一个数据框,希望从其中一列中获得值的平均值。如果我这样做:

print df['col_name'][0:1]
print df['col_name'][0:1].mean()
我得到:

0    2
Name: col_name
2.0
0    2
1    1
Name: col_name
10.5
0    2
1    1
2    2
Name: col_name
70.6666666667
如果我这样做:

print df['col_name'][0:2]
print df['col_name'][0:2].mean()
print df['col_name'][0:3]
print df['col_name'][0:3].mean()
我得到:

0    2
Name: col_name
2.0
0    2
1    1
Name: col_name
10.5
0    2
1    1
2    2
Name: col_name
70.6666666667
如果我这样做:

print df['col_name'][0:2]
print df['col_name'][0:2].mean()
print df['col_name'][0:3]
print df['col_name'][0:3].mean()
我得到:

0    2
Name: col_name
2.0
0    2
1    1
Name: col_name
10.5
0    2
1    1
2    2
Name: col_name
70.6666666667

看起来您有一列
str
值,而不是
ints

import pandas as pd
df = pd.DataFrame({'col':['2','1','2']})
for i in range(1,4):
    print(df['col'][0:i].mean())
df = pd.DataFrame({'col':[2,1,2]})
for i in range(1,4):
    print(df['col'][0:i].mean())
屈服

2.0
10.5
70.6666666667
2.0
1.5
1.66666666667
而如果值为
ints

import pandas as pd
df = pd.DataFrame({'col':['2','1','2']})
for i in range(1,4):
    print(df['col'][0:i].mean())
df = pd.DataFrame({'col':[2,1,2]})
for i in range(1,4):
    print(df['col'][0:i].mean())
屈服

2.0
10.5
70.6666666667
2.0
1.5
1.66666666667

您可以使用将
str
s列转换为
ints

df['col'] = df['col'].map(int)

但是,当然,处理这个问题的最佳方法是首先确保数据帧是用正确的(
int
)值构造的。

可能希望看起来很糟糕,因为
10.5==float(“2”+“1”)/2
。我甚至都没看一眼就排除了这个可能性,因为我认为这可能会提高。我很高兴你知道这些数字是从哪里来的。嘿,这是给你的!:)