我有一个有5列的数据框。其中一个是“Day”列,其中包含每个寄存器的日期。它有很多日期,从几年前到今天。
例如(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
我需要做的是:我需要'拆分'/'选择'每个月的数据并将其上传到服务器中。我不知道该怎么做。我想像是按月分割数据帧。我怎样才能做到这一点?如果问题不明确,我可以再给你一个例子。
谢谢。
使用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]
您可以迭代每个月的组列表:
dfs[0]
Date
0 2018-01-01
1 2018-01-02
2 2018-01-03
3 2018-01-04
4 2018-01-05