-
Notifications
You must be signed in to change notification settings - Fork 0
/
pre_processing.py
30 lines (26 loc) · 1015 Bytes
/
pre_processing.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import pandas as pd
from datetime import datetime
def load_pre_processing(df):
df.columns = [x.strip() for x in df.columns]
df['open_time'] = pd.to_datetime((df['open_time'] / 1000).apply(datetime.fromtimestamp))
df = df.sort_values(by='open_time', ascending=True, ignore_index=True)
del df['close_time']
del df['ignore']
df = df.rename(columns={'volume': 'volume_btc', 'number_of_trades': 'trades', 'quote_asset_volume': 'volume_usdt',
'taker_buy_base_asset_volume': 'taker_volume_btc',
'taker_buy_quote_asset_volume': 'taker_volume_usdt'})
df = df.set_index('open_time')
return df
def resample(df, rule):
df_r = df.resample(rule).agg({
'open': 'first',
'high': 'max',
'low': 'min',
'close': 'last',
'trades': 'sum',
'volume_btc': 'sum',
'volume_usdt': 'sum',
'taker_volume_btc': 'sum',
'taker_volume_usdt': 'sum'
})
return df_r.dropna()