2016-12-01 2 views
-3

У меня есть словарьPython Панды из словаря

x={'XYZ': [4, 5, 6], 'ABC': [1, 2, 3]} 

Я хочу pd.DataFrame так:

 'SomeColumnName' 
'XYZ' [4,5,6] 
'ABC' [1,2,3] 

бы я ни делал, он разбивает список x.values ​​() в 3 отдельных колонках , Я могу сделать «~» .join, прежде чем создавать Dataframe. Просто интересно, есть ли простой способ

ответ

1

Почему вы не просто ввести данные, как:

x={'XYZ': [[4, 5, 6]], 'ABC': [[1, 2, 3]]} 

Тогда вы получите:

In [7]: pd.DataFrame(x).transpose() 
Out[7]: 
      0 
ABC [1, 2, 3] 
XYZ [4, 5, 6] 

Вы можете перекодировать ваш словарь, используя:

for key in x.keys(): 
     x[key] = [x[key]] 
+0

AH, красивая ... что это лучший способ. –

+0

@PankajSingh, ознакомьтесь с этим введением в 'Pandas' [структуры данных] (http://pandas.pydata.org/pandas-docs/stable/dsintro.html). Я думаю, что причина, по которой вы ниспровергаетесь (хотя избиратели обязательно должны сказать, почему они являются downvoting), состоит в том, что вопрос относится к основному элементу «Pandas» –

0

Хорошо, это, как я это сделал

г = pd.DataFrame.from_records (список (x.items()), столбцы = [ 'A', 'SomeColumnName '], индекс =' A ')

Проблема была - я не был с помощью списка() для данных

Смежные вопросы