4

データ フレームがあり、列の 1 つから値の平均を取得したいと考えています。私が行った場合:

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

私は得る:

0    2
Name: col_name
2.0

私が行った場合:

print df['col_name'][0:2]
print df['col_name'][0:2].mean()

私は得る:

0    2
1    1
Name: col_name
10.5

私が行った場合:

print df['col_name'][0:3]
print df['col_name'][0:3].mean()

私は得る:

0    2
1    1
2    2
Name: col_name
70.6666666667
4

1 に答える 1

3

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())

収量

2.0
10.5
70.6666666667

一方、値が次の場合ints:

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

収量

2.0
1.5
1.66666666667

strs の列をintswithの列に変換できます

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

しかしもちろん、これを処理する最善の方法は、最初に DataFrame が正しい ( int) 値で構築されていることを確認することです。

于 2013-10-11T12:45:22.743 に答える