我有一个类似的数据框
rectime
0 2018-10-13 00:15:00
1 2018-10-13 00:30:00
2 2018-10-13 00:45:00
3 2018-10-13 01:00:00
'rectime'的格式为datetime
。我想通过使用将其转换为列表
pandas.DataFrame.values
返回的内容是这样的
[['2018-10-13T00:15:00.000000000']
['2018-10-13T00:30:00.000000000']
['2018-10-13T00:45:00.000000000']
['2018-10-13T01:00:00.000000000']]
有人可以告诉我为什么有区别吗?以及如何在'rectime'中获得具有相同上下文的列表?
答案 0 :(得分:2)
df.rectime.dt.strftime("%Y-%m-%d %H:%M:%S").values
array(['2018-10-13 00:15:00', '2018-10-13 00:30:00', '2018-10-13 00:45:00',
'2018-10-13 01:00:00'], dtype=object)
说明:Pandas在内部以ISO-8601格式存储datetime对象,但是在与打印输出进行交互时,它以更易读的格式呈现日期字符串。
当您使用.values
从熊猫转换成列表时,将失去漂亮的打印功能,并获得完整的8601字符串。
您可以使用dt.strftime
方法来确定您想要的字符串表示形式的外观,然后使用.values
然后将其移动到列表中。
数据:
df = pd.DataFrame({'rectime': {
0: pd.Timestamp('2018-10-13 00:15:00'),
1: pd.Timestamp('2018-10-13 00:30:00'),
2: pd.Timestamp('2018-10-13 00:45:00'),
3: pd.Timestamp('2018-10-13 01:00:00')}})