假设您要使用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'),
...
我不仅获得了日期,还获得了我不需要的其他信息。 我的问题:如何才能从YYYY-MM-DD
获取s
(字符串)值?
答案 0 :(得分:3)
使用.dt.strftime
以您想要的字符串格式输出日期:
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']
注意虽然当dtype是datetime时你不能修改pandas日期显示格式,你只能以你想要的格式生成一个字符串,但这不太有用IMO
<强>更新强>
如果您正在获取unicode字符串,那么您可以查看:https://stackoverflow.com/questions/4855645/how-to-turn-unicode-strings-into-regular-strings将它们转换为常规字符串