3
        Date Description 
0  6/09/2012      Amazon
1  6/09/2012      iTunes
2  6/08/2012      iTunes
3  6/08/2012    Building
4  6/08/2012   Slicehost

我有一个DataFrame像上面的。我可以使用这样的函数 get_day() 挑选出上述日期字符串的日期部分:

def get_day(date_string):
    d = datetime.strptime(date_string, '%m/%d/%Y')
    return d.day

现在我如何将这个函数传递给上面的 DataFrame 以获取 groupby 在当天而不是 datestring 本身。通过查看文档无法弄清楚。任何帮助表示赞赏。

4

1 回答 1

2
df.groupby(get_day)

但无论如何我都会先将日期字符串转换为日期时间对象。

另一个问题是您正在调用.day它返回一个月中的某一天(数字 1-31)。你可能想打电话.date()

def get_day(date_string):
    return datetime.strptime(date_string, '%m/%d/%Y').date()

或直接

df.groupby(lambda x: datetime.strptime(date_string, '%m/%d/%Y').date())
于 2012-06-11T07:10:08.177 回答