Python 如何按月份和年份划分pands数据帧

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

我有一个很大的数据框,里面有一个日期字段。我想通过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        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
  • 将date列更改为datetime对象,以便更轻松地提取月-年数据
  • 将月-年数据提取到新列中
  • 按此新列分组,以提取唯一的数据帧
  • 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年)
    
  • 将date列更改为datetime对象,以便更轻松地提取月-年数据
  • 将月-年数据提取到新列中
  • 按此新列分组,以提取唯一的数据帧
  • 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}