Pandas dataframe set_index не принимает массив - PullRequest
0 голосов
/ 28 марта 2020

У меня есть простая функция в python, чтобы программно загрузить CSV, транспонировать ряд столбцов и экспортировать обратно как CSV

## transpose columns  ##
def stack_file(input, indexes, delimiter):
    df = pd.read_csv(input, sep=delimiter)
    print(df.columns.values)
    print(indexes)
    #df.set_index(['Province/State','Country/Region','Lat','Long'], inplace=True)
    df.set_index(indexes, inplace=True)
    df = df.stack()
    df.to_csv(path.join(path.dirname(input),path.basename(input)),sep="\t")

Теперь вы можете увидеть в закомментированной строке функцию, вызываемую с помощью Тестовый массив - использование этой строки работает. Если я пытаюсь передать массив, я получаю следующую ошибку:

ValueError: Несоответствие длины: Ожидается 30870 строк, получен массив длиной 1

Массив i ' Передача m генерируется следующим образом, и если я ее распечатываю, она отображается точно так же, как в строке комментария

header_indexes = np.array([])
for x in range(0, header_index_last):
    header_indexes = np.append(header_indexes, column[x])

Я пытался просмотреть документацию, но я действительно не понимаю, почему это не работает ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...