Pythonパンダ辞書で分割された月の日

Sep 27 2020

私は次の株のリストを持っています:

それぞれについて、この説明図として月の日ごとに分けたいと思います。

この分離により、毎日の累積リターンを実行し、各銘柄記号の最大および最小累積リターンで分離することができます。

私はSOから次のことを行っています(別の株式リストの例):データフレームの辞書からレポートを呼び出します:

data_dict = dict()  # create an empty dict here
for k, df in df_dict.items():
    df_dict[k]['Return %'] = df.iloc[:, 0].pct_change(-1)*100

    # aggregate the max and min of Return
    mm = df_dict[k]['Return %'].agg(['max', 'min'])  

    # add it to the dict, with ticker as the key
    data_dict[k] = {'max': mm.max(), 'min': mm.min()}  

# convert to a dataframe if you want
mm_df = pd.DataFrame.from_dict(data_dict, orient='index')

# display(mm_df)
          max      min
aapl  8.70284 -4.90070
msft  6.60377 -4.08443

これにより、リスト内の株式が線形分析され、上記の図のように日ごとに分離されません。

質問:

  • 曜日ごとに分割するステップを挿入して、上記のコードを実行するにはどうすればよいですか?

回答

kyc12 Sep 28 2020 at 23:40

あなたは使用することができますpandas.groupbyし、使用してdatetime.date()グループ化するフィールドとして。次にsum、グループオブジェクトの演算子を使用して、日次リターンを計算できます。この投稿はgroupby、日時での使用を示しています