@Johnem

Как указать pandas правильную последовательность элементов в списке?

Есть вот такой код (извиняюсь за длину, знаю что не по pep8):
data_designation = ["Дата заключения", "Валюта", "Код финансового инструмента", "Операция", "Количество", "Цена", "Объём сделки"]
securities_transactions = pandas.read_excel(file_location, usecols = data_designation, dtype = {data_designation[0]: str, data_designation[1]: str, data_designation[2]: str, data_designation[3]: str, data_designation[4]: float, data_designation[5]: float, data_designation[6]: float}).values.tolist()

Элементы в списке securities_transactions, после завершения кода, располагаются вот так: "Дата заключения", "Код финансового инструмента", "Операция", "Количество", "Цена", "Объём сделки". А необходимо что бы они распологались как в списке data_designation.
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
LazyTalent
@LazyTalent
Data Engineer, Freelancer
usecols: int, str, list-like, or callable default None

        If None, then parse all columns.

        If str, then indicates comma separated list of Excel column letters and column ranges (e.g. “A:E” or “A,C,E:F”). Ranges are inclusive of both sides.
        If list of int, then indicates list of column numbers to be parsed.
        If list of string, then indicates list of column names to be parsed.
        New in version 0.24.0.
        If callable, then evaluate each column name against it and parse the column if the callable returns True.
    Returns a subset of the columns according to behavior above.

Т.е. при помощи этой опции ты указываешь какие колонки следует читать из файла, при этом их порядок останется таким же как и в файле, следовательно тебе после чтения файла необходимо поменять порядока колонок:
data_designation = ["Дата заключения", "Валюта", "Код финансового инструмента", "Операция", "Количество", "Цена", "Объём сделки"]
securities_transactions = pandas.read_excel(file_location, usecols = data_designation)
securities_transactions = securities_transactions[data_designation]
securities_transactions = securities_transactions.values.tolist()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
25 нояб. 2024, в 18:39
30000 руб./за проект
25 нояб. 2024, в 18:35
30000 руб./за проект
25 нояб. 2024, в 18:33
10000 руб./за проект