按月“拆分”数据框

Vic*_* H. 2 python dataframe pandas

我有一个有 5 列的数据框。其中之一是“天”列,其中包含每个寄存器的日期。它有很多日期,从几年前到今天。

例如 (MM/DD/YYYY) 格式:

c1 c2 c3 day        c4
a  b  c  01-01-2018 d
e  f  g  01-02-2018 h
... more data from january 2018, then starting another month
i  j  k  02-01-2018 l
Run Code Online (Sandbox Code Playgroud)

我需要做的是:我需要“拆分”/“选择”每个月的数据并将其上传到服务器中。我不知道该怎么做。我想像按月拆分数据框一样。我怎样才能做到这一点?如果问题不清楚,我可以再举一个例子。

谢谢你。

Chr*_*ris 8

使用groupby具有Grouper

# sample data
df = pd.DataFrame(pd.date_range('2018-01-01', '2018-03-01'), columns=['Date'])
# groupby your key and freq
g = df.groupby(pd.Grouper(key='Date', freq='M'))
# groups to a list of dataframes with list comprehension
dfs = [group for _,group in g]
Run Code Online (Sandbox Code Playgroud)

您可以遍历每个月的组列表:

dfs[0]

       Date
0 2018-01-01
1 2018-01-02
2 2018-01-03
3 2018-01-04
4 2018-01-05
Run Code Online (Sandbox Code Playgroud)