Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

assign dtype with from_dict

Tags:

python

pandas

I have data in a python dictionary like:

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']}

I can convert it to a pandas Dataframe with:

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

but I am not able to use the dtype parameter of from_dict. I would convert the index to a datetime of similar first column to float and third to string.

I have tried:

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

but it doesn't work.

like image 283
Ruggero Turra Avatar asked Feb 10 '17 17:02

Ruggero Turra


1 Answers

This appears to be an ongoing issue with some of the pandas constructor methods: How to set dtypes by column in pandas DataFrame

Instead of using the dtype argument, chaining .astype may do the trick:

pandas.DataFrame.from_dict(data, orient='index').astype({0: float, 1:str})
like image 58
cmaher Avatar answered Oct 21 '22 13:10

cmaher