Python 当日期如下:2017-06-16 09:34:23时,熊猫如何按日期分组?

Python 当日期如下:2017-06-16 09:34:23时,熊猫如何按日期分组?,python,pandas,Python,Pandas,我有一个数据帧(检查图像a)。我被告知按文件类型(aka.mime_type)、大小和日期(aka.created_at)对其进行分组 如何将日期按年和月分割?有什么建议吗 到目前为止,我已经做了以下工作: 按3个变量分组:mime_类型、已创建_和大小 df_1=df.groupby(['mime_type', 'created_at', 'size']).groups display(df_1) 按mime_类型分组。(检查图像B) 图像A 图像B 这就是你要找的吗 df=pd.Data

我有一个数据帧(检查图像a)。我被告知按文件类型(aka.mime_type)、大小和日期(aka.created_at)对其进行分组

如何将日期按年和月分割?有什么建议吗

到目前为止,我已经做了以下工作:

按3个变量分组:mime_类型、已创建_和大小

df_1=df.groupby(['mime_type', 'created_at', 'size']).groups
display(df_1)
按mime_类型分组。(检查图像B)

图像A

图像B


这就是你要找的吗

df=pd.DataFrame({
'path':[f'p{i}'表示范围(5)中的i],
“大小”:[10]*5,
“mime_类型”:['mime_类型0']*5,
“创建时间:['2020-01-01 23:00:34']*2+['2020-01-02 23:00:34']*2+['2020-01-03 23:00:34']
})
打印(df)
打印()
df['created_at']=pd.to_datetime(df['created_at']).dt.normalize()
grouped=df.groupby(['mime\u type','created\u at','size'])
对于组,分组中的行:
打印(组)
打印(行)
打印()
输出:

  path  size   mime_type           created_at
0  p_0    10  mime_type0  2020-01-01 23:00:34
1  p_1    10  mime_type0  2020-01-01 23:00:34
2  p_2    10  mime_type0  2020-01-02 23:00:34
3  p_3    10  mime_type0  2020-01-02 23:00:34
4  p_4    10  mime_type0  2020-01-03 23:00:34

('mime_type0', Timestamp('2020-01-01 00:00:00'), 10)
  path  size   mime_type created_at
0  p_0    10  mime_type0 2020-01-01
1  p_1    10  mime_type0 2020-01-01

('mime_type0', Timestamp('2020-01-02 00:00:00'), 10)
  path  size   mime_type created_at
2  p_2    10  mime_type0 2020-01-02
3  p_3    10  mime_type0 2020-01-02

('mime_type0', Timestamp('2020-01-03 00:00:00'), 10)
  path  size   mime_type created_at
4  p_4    10  mime_type0 2020-01-03


是否允许创建一个新列/更新已创建的_at列以仅包含日期部分?是的,我可以进行任何更改。“dt.normalize”的作用是什么?datetime的时间部分设置为00:00:00,如果我需要按月绘制绘图的数量,这是否可行?由于您已将列“created_at”转换为datetime?以获取月份,请使用
.dt.month
  path  size   mime_type           created_at
0  p_0    10  mime_type0  2020-01-01 23:00:34
1  p_1    10  mime_type0  2020-01-01 23:00:34
2  p_2    10  mime_type0  2020-01-02 23:00:34
3  p_3    10  mime_type0  2020-01-02 23:00:34
4  p_4    10  mime_type0  2020-01-03 23:00:34

('mime_type0', Timestamp('2020-01-01 00:00:00'), 10)
  path  size   mime_type created_at
0  p_0    10  mime_type0 2020-01-01
1  p_1    10  mime_type0 2020-01-01

('mime_type0', Timestamp('2020-01-02 00:00:00'), 10)
  path  size   mime_type created_at
2  p_2    10  mime_type0 2020-01-02
3  p_3    10  mime_type0 2020-01-02

('mime_type0', Timestamp('2020-01-03 00:00:00'), 10)
  path  size   mime_type created_at
4  p_4    10  mime_type0 2020-01-03