这很令人尴尬......我试图通过给你们一些我的数据集样本来创建一个good reproducible pandas example。我认为(%i5) myList(expr, iMin, iMax) := apply (makelist, [expr, i, iMin, iMax]) $
(%i6) expr:i^2 $
(%i7) myList(expr, 1, 5);
(%o7) [1, 4, 9, 16, 25]
这很简单,但无济于事。
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]})
。
我尝试过导入各种内容,甚至尝试使用pd.to_dict()
中的不同NameError: name 'Timestamp' is not defined
。
如何转换orients
或更好,从中创建一个DataFrame?
答案 0 :(得分:12)
您需要从Timestamp
导入pandas
:
>>> 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
答案 1 :(得分:6)
您只需导入时间戳:
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
答案 2 :(得分:2)
import module
未将模块名称输入全局命名空间,您必须通过module.name
访问它们。要将模块的名称输入全局命名空间,您需要使用from module import
语法。在这种情况下,from pandas import Timestamps
将Timestamps
输入全局命名空间,或from pandas import *
,将pandas中的所有名称导入全局命名空间。