Python 如何按月份和年份划分pands数据帧
我有一个很大的数据框,里面有一个日期字段。我想通过MM/YYYY从数据帧创建子数据帧。我可以通过指定date rages来实现这一点,但我想使它成为动态的,因为整个数据框架是根据date列中的月-年进行分区的 发件人: 致:Python 如何按月份和年份划分pands数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个很大的数据框,里面有一个日期字段。我想通过MM/YYYY从数据帧创建子数据帧。我可以通过指定date rages来实现这一点,但我想使它成为动态的,因为整个数据框架是根据date列中的月-年进行分区的 发件人: 致: 执行groupby然后保存到dict d = {x : y for x , y in df.groupby(pd.to_datetime(df.date).dt.strftime('%y-%m'))} d Out[8]: {'21-01': sales
执行
groupby
然后保存到dict
d = {x : y for x , y in df.groupby(pd.to_datetime(df.date).dt.strftime('%y-%m'))}
d
Out[8]:
{'21-01': sales date
0 420 01/10/2021
1 380 01/15/2021
3 420 01/20/2021, '21-02': sales date
4 380 02/02/2021, '21-03': sales date
5 420 03/10/2021
6 380 03/13/2021}
执行
groupby
然后保存到dict
d = {x : y for x , y in df.groupby(pd.to_datetime(df.date).dt.strftime('%y-%m'))}
d
Out[8]:
{'21-01': sales date
0 420 01/10/2021
1 380 01/15/2021
3 420 01/20/2021, '21-02': sales date
4 380 02/02/2021, '21-03': sales date
5 420 03/10/2021
6 380 03/13/2021}
尝试:
df[“date”]=pd.to_datetime(df[“date”])
对于df.groupby中的g([df.date.dt.year,df.date.dt.month]):
印刷品(g)
打印()
印刷品:
销售日期
0 420 2021-01-10
1 380 2021-01-15
3 420 2021-01-20
销售日期
4 380 2021-02-02
销售日期
5 420 2021-03-10
6 380 2021-03-13
试试:
df[“date”]=pd.to_datetime(df[“date”])
对于df.groupby中的g([df.date.dt.year,df.date.dt.month]):
印刷品(g)
打印()
印刷品:
销售日期
0 420 2021-01-10
1 380 2021-01-15
3 420 2021-01-20
销售日期
4 380 2021-02-02
销售日期
5 420 2021-03-10
6 380 2021-03-13
df['date']=pd.to_datetime(df['date'],格式=“%d/%m/%Y”)
df['month/year']=str(df['date'].dt.month)+“/”+(df['date'].dt.year)
对于月/年,df.groupby中的df月/年(“月/年”):
打印(df\u月\u年)
df['date']=pd.to_datetime(df['date'],格式=“%d/%m/%Y”)
df['month/year']=str(df['date'].dt.month)+“/”+(df['date'].dt.year)
对于月/年,df.groupby中的df月/年(“月/年”):
打印(df\u月\u年)
Andrej,你能解释一下df.groupby([df.date.dt.year,df.date.dt.month])中\ug,g的目的是什么吗construct@KarthikS此上下文中的。
包含.groupby
((2021,1)
,(2021,2)
,(2021,3)
)返回的索引。我们不需要它,所以我们使用名称。
(这是未使用变量的常见做法)g
包含分组数据帧。Andrej,您能解释一下df.groupby([df.date.dt.year,df.date.dt.month])中\uG,g
的作用吗construct@KarthikS此上下文中的。包含.groupby
((2021,1)
,(2021,2)
,(2021,3)
)。我们不需要它,所以我们使用名称。g
包含分组数据帧。
d = {x : y for x , y in df.groupby(pd.to_datetime(df.date).dt.strftime('%y-%m'))}
d
Out[8]:
{'21-01': sales date
0 420 01/10/2021
1 380 01/15/2021
3 420 01/20/2021, '21-02': sales date
4 380 02/02/2021, '21-03': sales date
5 420 03/10/2021
6 380 03/13/2021}