У меня есть простая функция в 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])
Я пытался просмотреть документацию, но я действительно не понимаю, почему это не работает ...