btcm3 = pd.read_csv("./btc_weekly_3months.csv")
btcm3.head(5)
btcd5 = pd.read_csv("./btc_daily_5years.csv")
btcd5.head(5)
assert list(btcm3[btcm3["Date"]=="2023/9/11"]["Adj Close"])[0]==list(btcd5[btcd5["Date"]=="2023/9/17"]["Adj Close"])[0]
idx = list(btcd5[btcd5['Date']=="2023/9/11"].index)[0]
assert btcd5.loc[idx:idx+6, "Volume"].sum() == list(btcm3[btcm3["Date"]=="2023/9/11"]["Volume"])[0]
df_daily = btcd5
df_daily['Date'] = pd.to_datetime(df_daily['Date'])
def get_following_sunday(dt):
days_until_sunday = 6 - dt.weekday()
sunday_date = dt + timedelta(days=days_until_sunday)
return sunday_date
df_daily['Week_Ending'] = df_daily['Date'].apply(get_following_sunday)
btc_weekly = df_daily.groupby('Week_Ending').agg({
'Date': 'last',
'Adj Close': 'last',
'Volume': 'sum'
}).reset_index()
btc_weekly = btc_weekly.drop(columns = "Week_Ending")
btc_weekly.columns = ['Date', 'Adj Close', 'Volume']
btc_weekly = btc_weekly.sort_values(by='Date')
print("First 3 weeks of data in btc_weekly:")
print(btc_weekly.head(3))
print("\nLast 3 weeks of data in btc_weekly:")
print(btc_weekly.tail(3))
print("\nNumber of rows and columns in btc_weekly:")
print(btc_weekly.shape)
q2第二版
最新推荐文章于 2024-10-08 12:37:10 发布