我有一个主 Dataframe ,我试图使用df.loc将其切片为多个较小的 Dataframe ,并将这些切片基于datetime列,如下所示:
jan_2021 = merged_df.loc[(merged_df['Value_Date'] > '2021-1-1') & (merged_df['Value_Date'] <= '2021-1-31')]
feb_2021 = merged_df.loc[(merged_df['Value_Date'] > '2021-2-1') & (merged_df['Value_Date'] <= '2021-2-28')]
mar_2021 = merged_df.loc[(merged_df['Value_Date'] > '2021-3-1') & (merged_df['Value_Date'] <= '2021-3-31')]
apr_2021 = merged_df.loc[(merged_df['Value_Date'] > '2021-4-1') & (merged_df['Value_Date'] <= '2021-3-31')]
我需要继续这样做,直到2023年2月。有没有更快的方法在某种循环中迭代datetime列,而不是必须写出每个切片的每个datetime范围?
其次,我还想将每个切片 Dataframe 写入CSV文件。
jan_2021.to_csv(output_filepath_csv+'Jan21.csv',index=False)
feb_2021.to_csv(output_filepath_csv+'Feb21.csv',index=False)
同样,有没有一种方法可以循环遍历 Dataframe ?我猜是把它们放在一个列表中,然后循环遍历这个列表?
1条答案
按热度按时间zpgglvta1#
具有以下玩具 Dataframe :
以下是使用Pandas to_datetime和Python标准库的strptime和strftime的一种方法: