2017-02-10 75 views
5

我有数据在Python字典一样:分配D型与from_dict

data = {u'01-01-2017 22:34:43:871': [u'88.49197', u'valid'], 
     u'01-01-2017 11:23:43:803': [u'88.49486', u'valid'], 
     u'02-01-2017 03:11:43:898': [u'88.49773', u'valid'], 
     u'01-01-2017 13:54:43:819': [u'88.50205', u'valid']} 

我可以将其转换为大熊猫数据帧具有:

data = pandas.DataFrame.from_dict(data, orient='index') 

,但我不能够使用D型参数的from_dict。我会将索引转换为类似第一列的datetime以浮动,并将第三列转换为字符串。

我曾尝试:

pandas.DataFrame.from_dict((data.values()[0]), orient='index', 
               dtype={0: 'float', 1:'str'}) 

,但它不工作。

+0

你传入'data'到'from_dict'构造函数,对吧?因为它不会接受一个列表... –

+0

'pd.DataFrame(data).T'怎么样? – DyZ

+0

@ juanpa.arrivillaga:对不起,我从我的真实代码中复制了一些有点不同的东西。修正:我通过一个字典 –

回答

2

这似乎是与一些大熊猫构造方法当前的一个问题:How to set dtypes by column in pandas DataFrame

,而不是使用dtype说法,链接.astype可以做的伎俩:

pandas.DataFrame.from_dict(data, orient='index').astype({0: float, 1:str}) 
+0

它会更好地在建设时间进行转换。另外我还需要转换索引。 –

+0

@RuggeroTurra是的,似乎有一个错误,所以这是一个解决方法。 –