2017-10-20 89 views
0

我有用下面的代码创建的熊猫日期列表。将熊猫日期列表转换为python日期字符串列表

import pandas as pd 
panda_datelist = pd.bdate_range(pd.datetime.today(), periods=3).tolist() 

我想将panda_datelist转换成python列表。它应该看起来像这样;

python_datelist_from_panda = ['10/2/2017','10/3/2017','10/4/2017'] 

我使用python V3.6

回答

1

使用list comprehension

In [4553]: [x.strftime('%m/%d/%Y') for x in panda_datelist] 
Out[4553]: ['10/20/2017', '10/23/2017', '10/24/2017'] 

或者,使用map

In [4554]: map(lambda x: x.strftime('%m/%d/%Y'), panda_datelist) 
Out[4554]: ['10/20/2017', '10/23/2017', '10/24/2017'] 

但是,将列出你可以实际使用strftime

In [4559]: pd.bdate_range(pd.datetime.today(), periods=3).strftime('%m/%d/%Y') 
Out[4559]: 
array([u'10/20/2017', u'10/23/2017', u'10/24/2017'], 
     dtype='<U10') 

详细

In [4555]: panda_datelist 
Out[4555]: 
[Timestamp('2017-10-20 00:00:00', freq='B'), 
Timestamp('2017-10-23 00:00:00', freq='B'), 
Timestamp('2017-10-24 00:00:00', freq='B')] 
+0

感谢。我不知道'strftime'对熊猫有效。熊猫给我的印象是与Python数据结构完全不同的动物。 – user3848207

+0

我想了解使用map和lambda的解决方案。他们对我来说看起来很陌生。这是一种函数式编程吗? – user3848207

相关问题