ValueError: 2 переданных столбца, переданные данные имеют 1 столбец - PullRequest
2 голосов
/ 19 марта 2020

У меня есть список с именами организаций, таких как:

name = ['ALPHABET INC', 'AMAZON COM INC', 'APPLE INC',....]

и другой список значений cu, таких как:

cu = ['02079K305', '023135106', '037833100',....]

Когда я пытаюсь преобразовать его в dataframe выдает сообщение об ошибке «ValueError: 2 переданных столбца, переданные данные имеют 1 столбец»

Мой код для преобразования списка в dataframe:

df = pd.DataFrame([name, cu], columns=['name of issuer', 'cusip'])

Где я ошибаюсь? Заранее спасибо!

Ответы [ 4 ]

2 голосов
/ 19 марта 2020

Ваша структура списка помещает данные в строки, а не в столбцы.

df = pd.DataFrame([name, cu]).T
df.columns = ['name of issuer', 'cusip']

>>> df
   name of issuer      cusip
0    ALPHABET INC  02079K305
1  AMAZON COM INC  023135106
2       APPLE INC  037833100
1 голос
/ 19 марта 2020

Я думаю, что проще всего создать словари:

df = pd.DataFrame({'name of issuer': name, 'cusip':cu})  

Ваше решение возможно с zip, в последней версии pandas должно быть пропущено list:

df = pd.DataFrame(list(zip(name, cu)), columns=['name of issuer', 'cusip'])

print (df)
   name of issuer      cusip
0    ALPHABET INC  02079K305
1  AMAZON COM INC  023135106
2       APPLE INC  037833100
0 голосов
/ 19 марта 2020

В данный момент panda считает, что передаваемое вами значение - это один большой список. Один из способов изменить это - передать словарь в виде данных с именами столбцов в качестве ключей и списками в качестве значений.

df = pd.DataFrame({'name of issuer' : name, 'cusip' : cu})

0 голосов
/ 19 марта 2020

Использование zip

pd.DataFrame(zip(name, cu), columns=['name of issuer', 'cusip'])

ex:

>>> df = pd.DataFrame(zip(name, cu), columns=['name of issuer', 'cusip'])
>>> df
   name of issuer      cusip
0    ALPHABET INC  02079K305
1  AMAZON COM INC  023135106
2       APPLE INC  037833100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...