3 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
如果你想計(jì)算每天的平均值,你可以使用groupby如下:
import pandas as pd
df = pd.DataFrame({
"date":["20130101","20130101","20130103","20130103","20130105","20130105"],
"part1":[0.5,0.7,1.3,1.5,0.1,0.3],
"part2":[0.67,-0.03,1.95,-3.25,-0.3,0.6]
})
df.groupby("date").mean().reset_index()
結(jié)果:
date part1 part2
0 20130101 0.6 0.32
1 20130103 1.4 -0.65
2 20130105 0.2 0.15

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以by為熊貓groupby方法的參數(shù)傳遞一個(gè)函數(shù)。
from functools import partial
import pandas as pd
df = pd.DataFrame({
"date":["20130101","20130101","20130103","20130103","20130105","20130105"],
"part1":[0.5,0.7,1.3,1.5,0.1,0.3],
"part2":[0.67,-0.03,1.95,-3.25,-0.3,0.6]
})
def grouper(df, val):
foo = df.iloc[val]['part1']
if foo > 0.0 and foo < 0.4:
return 0
elif foo > 0.3 and foo < 1.0:
return 1
elif foo > 1.0:
return 2
grouped = df['part2'].groupby(by=partial(grouper, df)).mean()
這導(dǎo)致
1 0.15
2 0.32
3 -0.65
Name: part2, dtype: float64
添加回答
舉報(bào)