Pandas Groupby日期名称

时间:2014-06-20 13:17:45

标签: python pandas

我有一个数据集,其中包含一个名为“pub_date”的日期时间字段。

In [69]: dataset[['pub_date']].dtypes

Out[69]: pub_date datetime64[ns]
         dtype: object

我正在尝试按当天的名称(例如Mon,Tue,...,Sat,Sun)对数据集进行分组,但无济于事。到目前为止,我的方法是为我可能对数据进行分组的所有不同方法创建字段。所以我已经能够通过以下方式获得年,月,日等:

dataset['year'] = [t.year for t in dataset.pub_date]
dataset['month'] = [t.month for t in dataset.pub_date]
dataset['day'] = [t.day for t in dataset.pub_date]

我需要的最后一件事是获得一个带有'day_name'的字段,这样我就可以对它进行分组并绘制它,但我无法找到一种方法来做到这一点。我感谢您提供的任何指示。谢谢!

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

df['day_name'] = df['pub_date'].apply(
    lambda x: pd.to_datetime(x).strftime("%A"))

这将为您提供一个可以轻松分组和绘图的字段。

enter image description here