Python 熊猫回归;时间戳;

Python 熊猫回归;时间戳;,python,pandas,dataframe,Python,Pandas,Dataframe,这太尴尬了。。。我正试图通过给你们我的数据集的一个小样本来创建一个新的数据集。我原以为使用df.to_dict()会很简单,但没有用 df2 = df1[['DATE_FILLED','DAYS_SUPPLY']].head(5) df2['DATE_FILLED'] = pd.to_datetime(df2['DATE_FILLED']) diction = df2.to_dict() 输出: {'DATE_FILLED': {0: Timestamp('2016-12-28 00:00:0

这太尴尬了。。。我正试图通过给你们我的数据集的一个小样本来创建一个新的数据集。我原以为使用
df.to_dict()
会很简单,但没有用

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

{'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}}
但如果社区使用文本将其转换为数据帧:

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:未定义名称“Timestamp”
。 我尝试导入各种东西,甚至尝试在中使用不同的
方向


如何转换
时间戳
,或者更好的是,从它们创建一个数据帧

您只需导入时间戳:

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
>>>
将来,你可以通过自省给你一个好的提示:

>>> ts = d.to_dict()['DATE_FILLED'][0]
>>> type(ts)
<class 'pandas.tslib.Timestamp'>
>>> from pandas.tslib import Timestamp
>>ts=d.to_dict()['DATE_FILLED'][0]
>>>类型(ts)
>>>从pandas.tslib导入时间戳

导入模块
不将模块名称输入全局命名空间,您必须通过
模块.name
访问它们。要将模块名称输入全局名称空间,需要使用
from module import
语法。在这种情况下,要么是来自pandas的
导入时间戳
,将
时间戳
输入全局名称空间,要么是来自pandas导入的
,将pandas中的所有名称导入全局名称空间。

比我快17秒!而不是内容相同的第三个答案。。。我会坚持向上投票;-)很高兴看到你回答问题。我知道这很简单。。。在文档中找不到anywhere@ayhan是的,我在非常相似的情况下遇到过这个问题@MattR通过检查
类型
对象,查看我的答案,了解您是如何轻松发现这一点的谢谢您的解释!这在将来肯定会有所帮助