IndexError: список индексов вне диапазона. Может кто-нибудь помочь мне с этим кодом Python? Включает в себя понятия numpy и панд - PullRequest
2 голосов
/ 11 декабря 2019

Я новичок в Python и работаю над базовым использованием numpy и pandas. Я использую VS Code в качестве редактора исходного кода. Код выглядит следующим образом:

import numpy as np
import pandas as pd

temp = np.random.randint(low = 20, high = 100, size = [20,])
name = np.random.choice(['A','Python','Excel','B'], 20)
random = np.random.choice([10,11,12,13,14], 20)

a = list(zip(temp, name, random))
df = pd.DataFrame(data = a, columns = [temp, name, random])
print(df)

И вывод, который я получаю:

(work) PS C:\DEV> & c:/DEV/work/Scripts/python.exe c:/DEV/Num.py
Traceback (most recent call last):
  File "c:/DEV/Num.py", line 9, in <module>
(work) PS C:\DEV> & c:/DEV/work/Scripts/python.exe c:/DEV/Num.py
Traceback (most recent call last):
  File "c:/DEV/Num.py", line 9, in <module>
    df = pd.DataFrame(data = a, columns = [temp, name, random])
  File "C:\DEV\work\lib\site-packages\pandas\core\frame.py", line 462, in __init__
    mgr = arrays_to_mgr(arrays, columns, index, columns, dtype=dtype)
  File "C:\DEV\work\lib\site-packages\pandas\core\internals\construction.py", line 87, in 
arrays_to_mgr
    return create_block_manager_from_arrays(arrays, arr_names, axes)
  File "C:\DEV\work\lib\site-packages\pandas\core\internals\managers.py", line 1694, in 
create_block_manager_from_arrays
    blocks = form_blocks(arrays, names, axes)
  File "C:\DEV\work\lib\site-packages\pandas\core\internals\managers.py", line 1745, in form_blocks
    v = arrays[name_idx]
IndexError: list index out of range

Кто-нибудь может мне помочь? Я ожидаю, что список случайных значений в Dataframe будет определен вышеуказанными жестко закодированными значениями в моем коде.

1 Ответ

2 голосов
/ 11 декабря 2019

Ошибка с этой строкой - список столбцов должен быть списком строк. В данный момент вы пытаетесь присвоить сами списки именам столбцов.

df = pd.DataFrame(data = a, columns = ['temp', 'name', 'random'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...