我正在对日期列进行分组操作,发现结果意外地转换为int64。
样本数据:
> from deteutil import parser
> import pandas as pd
> df = pd.DataFrame({'id': ['a', 'b', 'b'], 'date': [parser.parse('2018-01-01'), parser.parse('2018-01-02'), parser.parse('2018-01-03')]})
> df
id date
0 a 2018-01-01
1 b 2018-01-02
2 b 2018-01-03
这按预期工作:
> df.groupby('id').apply(lambda x: x.date.min())
id
a 2018-01-01
b 2018-01-02
dtype: datetime64[ns]
但是在系列中执行相同的操作,数据类型会改变!
> df.groupby('id').apply(lambda x: pd.Series({'y':x.date.min()}))
id y
a 1514764800000000000
b 1514851200000000000
知道为什么吗?这是否可以预期并且可以解决?谢谢。