1 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
下一個(gè)版本的代碼對(duì)我有用,由于您提供的行數(shù)很少,我只進(jìn)行了 2 分鐘的聚合。
我認(rèn)為不起作用的原因是您的數(shù)據(jù)采用字符串格式,而不是需要日期時(shí)間列采用日期時(shí)間格式,其余部分采用浮點(diǎn)數(shù)格式,而不是字符串。我在代碼中正確地將字符串轉(zhuǎn)換為日期時(shí)間。
或者不工作的另一個(gè)原因是因?yàn)槟銢]有這樣做df.set_index('Date_Time')
,我也在我的代碼中這樣做了。
import io, pandas as pd, numpy as np
df = pd.read_csv(io.StringIO("""
Date_Time,Open,High,Low,Close
2014-12-30 20:51:00,2321.0,1213.0,1223.0,2334.0
2014-12-30 20:52:00,2342.0,2322.0,2332.0,2332.0
2014-12-30 20:53:00,3421.0,2322.0,2334.0,2123.0
2014-12-30 20:54:00,2312.0,2332.0,2324.0,2321.0
2014-12-30 20:55:00,2312.0,1212.0,2343.0,2323.0
"""))
df.Date_Time = pd.to_datetime(df.Date_Time)
df.set_index('Date_Time')
print(df)
df = df.resample('2min', on = 'Date_Time').agg({
'Open':'first',
'High':'max',
'Low':'min',
'Close':'last',
})
print(df)
輸出是:
Date_Time Open High Low Close
0 2014-12-30 20:51:00 2321.0 1213.0 1223.0 2334.0
1 2014-12-30 20:52:00 2342.0 2322.0 2332.0 2332.0
2 2014-12-30 20:53:00 3421.0 2322.0 2334.0 2123.0
3 2014-12-30 20:54:00 2312.0 2332.0 2324.0 2321.0
4 2014-12-30 20:55:00 2312.0 1212.0 2343.0 2323.0
Open High Low Close
Date_Time
2014-12-30 20:50:00 2321.0 1213.0 1223.0 2334.0
2014-12-30 20:52:00 2342.0 2322.0 2332.0 2123.0
2014-12-30 20:54:00 2312.0 2332.0 2324.0 2323.0
添加回答
舉報(bào)