Python pandas 사전에서 날짜 분할

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그룹 개체에서 연산자를 사용 하여 일일 수익을 계산할 수 있습니다 . 이 게시물 은 groupbydatetime과 함께 사용 하는 것을 보여줍니다.