import pandas as pd
dic ={'a':'[1,0,1,1]','b':'[0,1,0,0]'}print(dic)# {'a': '[1,0,1,1]', 'b': '[0,1,0,0]'}
data = pd.DataFrame(dic)# 报错
ValueError Traceback (most recent call last)<ipython-input-8-ba871f59eba6>in<module>()---->1 data = pd.DataFrame(dic)
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)346 dtype=dtype, copy=copy)347elifisinstance(data,dict):-->348 mgr = self._init_dict(data, index, columns, dtype=dtype)349elifisinstance(data, ma.MaskedArray):350import numpy.ma.mrecords as mrecords
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py in _init_dict(self, data, index, columns, dtype)457 arrays =[data[k]for k in keys]458-->459return _arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)460461def_init_ndarray(self, values, index, columns, dtype=None, copy=False):
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py in _arrays_to_mgr(arrays, arr_names, index, columns, dtype)7354# figure out the index, if necessary7355if index isNone:->7356 index = extract_index(arrays)73577358# don't force copy because getting jammed in an ndarray anyway
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py in extract_index(data)73917392ifnot indexes andnot raw_lengths:->7393raise ValueError('If using all scalar values, you must pass'7394' an index')7395
ValueError: If using all scalar values, you must pass an index
方法
data = pd.DataFrame([dic])
data = data.T
data.head()0
a [1,0,1,1]
b [0,1,0,0]