使用Python将大熊猫的每日库存数据转换为每周

时间:2018-12-02 18:18:40

标签: python pandas

我具有以下数据格式。

Date          Open      High        Low     Close
2018-11-12  **10607.80**  10645.50  10464.05  10482.20
2018-11-13  10451.90  10596.25  10440.55  10582.50
2018-11-14  10634.90  10651.60  10532.70  10576.30
2018-11-15  10580.60  10646.50  10557.50  10616.70
2018-11-16  10644.00  10695.15  10631.15  **10682.20**
2018-11-19  **10731.25**  10774.70  10688.80  10763.40
2018-11-20  10740.10  10740.85  10640.85  10656.20
2018-11-21  10670.95  10671.30  10562.35  10600.05
2018-11-22  10612.65  10646.25  10512.00  **10526.75**
2018-11-26  **10568.30**  10637.80  10489.75  10628.60
2018-11-27  10621.45  10695.15  10596.35  10685.60
2018-11-28  10708.75  10757.80  10699.85  10728.85
2018-11-29  10808.70  10883.05  10782.35  10858.70
2018-11-30  10892.10  10922.45  10835.10  **10876.75**

我想获取周一的开盘价和下周五的收盘价。

这是我的相同代码。

open = df.Open.resample('W-MON').last()
print open.tail(5)

close = df.Close.resample('W-FRI').last().resample('W-MON').first()
print close.tail(5)

weekly_data = pd.concat([open, close], axis=1)

print weekly_data.tail(5)

它为我单独打开和关闭提供了正确的数据,但是当我合并到weekly_data时,它为关闭提供了错误的输出。它向我显示了上周五的收盘价。

如何解决此问题?

1 个答案:

答案 0 :(得分:2)

您可以在s="ACB 01900 X1911D 1910 1955-2011 3424 2135 1934 foobar" grep -Po '^(?:.*\s)?\K(?:19\d{2}|20(?:[0-4]\d|50))(?!\S)' <<< "$s" # => 1934 天之内使用shift来对齐> cur.execute('''INSERT INTO Tablename(Col1, Col2, Col3, Col4) VALUES(?,?,?,?)''', [TextValue, Real_Value, Buffer(model), sqlite3.Binary(model2)]) > conn.commit() > # Read Data: > df = pd.read_sql('SELECT * FROM Model, con=conn) > model1 = str(df['Col3'].values[0])) > model2 = str(df['Col'].values[0]))

-4