Pandas to_dict()返回“时间戳”

2024-10-01 09:31:17 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,这很尴尬。。。我试图通过给你们一个我的数据集的小样本来创建一个good reproducible pandas example。我以为用df.to_dict()这会很简单,但是没有用。在

df2 = df1[['DATE_FILLED','DAYS_SUPPLY']].head(5)
df2['DATE_FILLED'] = pd.to_datetime(df2['DATE_FILLED'])
diction = df2.to_dict()

输出:

^{pr2}$

但是如果社区使用文本将其转换为数据帧:

import pandas as pd
from datetime import datetime
import time
d= pd.DataFrame({'DATE_FILLED': [Timestamp('2016-12-28 00:00:00'), Timestamp('2016-12-31 00:00:00'), Timestamp('2016-12-20 00:00:00'), Timestamp('2016-12-21 00:00:00'), Timestamp('2016-12-26 00:00:00')], 'DAYS_SUPPLY': [14, 14, 14, 7, 7]})

他们会得到NameError: name 'Timestamp' is not defined。 我尝试过导入不同的东西,甚至尝试在^{}中使用不同的orients。在

如何转换Timestamps,或者更好地从它们创建一个数据帧?在


Tags: to数据importpandasdatetimedatedaysdict
3条回答

import module没有在全局命名空间中输入模块的名称,您必须通过module.name来访问它们。要在全局命名空间中输入模块的名称,需要使用from module import语法。在本例中,from pandas import Timestamps,它将Timestamps输入全局命名空间,或者{},它将pandas中的所有名称导入全局命名空间。在

您只需要导入时间戳:

from pandas import Timestamp

d = {'DATE_FILLED': {0: Timestamp('2016-12-28 00:00:00'),
                 1: Timestamp('2016-12-31 00:00:00'), 
                 2: Timestamp('2016-12-20 00:00:00'), 
                 3: Timestamp('2016-12-21 00:00:00'), 
                 4: Timestamp('2016-12-26 00:00:00')}, 
     'DAYS_SUPPLY': {0: 14, 1: 14, 2: 14, 3: 7, 4: 7}}



pd.DataFrame(d)
Out: 
  DATE_FILLED  DAYS_SUPPLY
0  2016-12-28           14
1  2016-12-31           14
2  2016-12-20           14
3  2016-12-21            7
4  2016-12-26            7

您需要从pandas导入Timestamp

>>> import pandas as pd
>>> from pandas import Timestamp
>>> d= pd.DataFrame({'DATE_FILLED': [Timestamp('2016-12-28 00:00:00'), Timestamp('2016-12-31 00:00:00'), Timestamp('2016-12-20 00:00:00'), Timestamp('2016-12-21 00:00:00'), Timestamp('2016-12-26 00:00:00')], 'DAYS_SUPPLY': [14, 14, 14, 7, 7]})
>>>
>>> d
  DATE_FILLED  DAYS_SUPPLY
0  2016-12-28           14
1  2016-12-31           14
2  2016-12-20           14
3  2016-12-21            7
4  2016-12-26            7
>>>

以后,你总可以用反省来给你一个很好的提示:

^{pr2}$

相关问题 更多 >