2017-10-15 9 views
0

나는과 같이, 데이터베이스에서 DataFrame을로드하고 딕셔너리하는 열이 : 나는 pd.to_csv를 사용하여 디스크에 내 DataFrame 저장() 다음 경우 Pandas df.to_csv()는 dict 값을 문자열로 저장합니다. pd.read_csv()를 호출 할 때 어떻게 dicts를 다시 얻을 수 있습니까?

id some_value ... coordinates 
15   34.7  {'type': 'Point', 'coordinates': [-3.2, 37.0]} 

그러나, 그것을 다시 읽어

, 좌표를 포함하는 열은 DICT 아니라 문자열 :

id some_value ... coordinates 
15   34.7  "{'type': 'Point', 'coordinates': [-3.2, 37.0]}" 

가 어떻게 판다는 딕셔너리으로이 칼럼을 읽고 말할 수있는, 또는 어떻게이 딕셔너리에 다시이 열을 변환 할 수 있습니까?

+0

df.coordinates 또는 DF [ '좌표']? – Ulu83

+0

예상대로 작동했습니다. – Ulu83

답변

3

사용 df['coordinates'].map(ast.literal_eval)

In [2333]: import ast 

In [2334]: type(df.coordinates[0]) 
Out[2334]: str 

In [2335]: df['coordinates'] = df['coordinates'].map(ast.literal_eval) 

In [2336]: type(df.coordinates[0]) 
Out[2336]: dict 

In [2337]: df 
Out[2337]: 
    id some_value          coordinates 
0 15  34.7 {u'type': u'Point', u'coordinates': [-3.2, 37.0]}