Python 熊猫:仅转换保持YYYY-MM-DD格式的时间戳系列

Python 熊猫:仅转换保持YYYY-MM-DD格式的时间戳系列,python,date,pandas,datetime,Python,Date,Pandas,Datetime,假设您想创建一系列时间戳,格式为YYYY-MM-DD从1990-1-1到1991-12-31,使用pandas: import pandas import datetime start = datetime.date(1990, 1, 1) end = datetime.date(1991, 12, 31) s = pandas.Series(pandas.date_range(start=start, end=end, freq='D')) 结果是: In[1]: s Out[1]: 0

假设您想创建一系列时间戳,格式为
YYYY-MM-DD
1990-1-1
1991-12-31
,使用
pandas

import pandas
import datetime

start = datetime.date(1990, 1, 1)
end = datetime.date(1991, 12, 31)
s = pandas.Series(pandas.date_range(start=start, end=end, freq='D'))
结果是:

In[1]: s
Out[1]:
0     1990-01-01
1     1990-01-02
2     1990-01-03
3     1990-01-04
...
如何将
s
转换为列表?如果我这样做

In[2]: s.tolist()
Out[2]: 
[Timestamp('1990-01-01 00:00:00'),
 Timestamp('1990-01-02 00:00:00'),
 Timestamp('1990-01-03 00:00:00'),
 Timestamp('1990-01-04 00:00:00'),
...
我不仅得到了日期,而且还得到了我不需要的额外信息我的问题:如何仅从
s
获取
YYYY-MM-DD
(字符串)值?

用于以所需字符串格式输出日期:

In [114]:
s.dt.strftime('%Y-%m-%d').head()

Out[114]:
0    1990-01-01
1    1990-01-02
2    1990-01-03
3    1990-01-04
4    1990-01-05
dtype: object

In [115]:
s.dt.strftime('%Y-%m-%d').head().tolist()

Out[115]:
['1990-01-01', '1990-01-02', '1990-01-03', '1990-01-04', '1990-01-05']
请注意,虽然当数据类型为datetime时,不能修改日期显示格式,但只能生成所需格式的字符串,但这在我看来用处不大

更新


如果您得到的是unicode字符串,那么您可以看看这个:将它们转换为常规字符串

Uhm。。。。有趣的。。。我得到带有unicode符号的数据戳,如
u'1990-1-1'
。如何摆脱它?我用的是python 3,你的是python 2吗?是的,对不起,哈哈。。。应该提到的是,你可能需要看看,我只是做一个列表来处理这个问题