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吗?是的,对不起,哈哈。。。应该提到的是,你可能需要看看,我只是做一个列表来处理这个问题