Сохранение порядка имен столбцов to_dict

1

Как сохранить порядок имени заголовка. Заказ не в алфавитном порядке, это индивидуальный заказ. Это нормально в кадре данных, но когда я делаю это, я не to_dict что это не то, что я изначально имел.

Это метод, который у меня есть в классе.

 #the list is much larger
 income_statements = pd.DataFrame(columns=['Year', 'Operating_Revenue', 'COGS','Income_Tax', 'Total_Revenue')

for year in years:
            url = 'financials/standardized?identifier='+symbol+'&statement=income_statement&type=QTR&fiscal_year='+str(year)+'&date='+date
            fin_data = requests.get(self.get_intrino+url, auth=HTTPBasicAuth(intrino_uname, intrino_pw)).json()['data']
            row = []
            row.append(year)
            for i in range(len(fin_data)):
                row.append( fin_data[i]['value'] )
            income_statements.loc[len(income_statements)] = row

Я тогда называю это.. это всего лишь пример, но я беру возврат моего метода income_statements.to_dict()

Он заканчивается тем, что сначала показывает "Income_Tax" вместо "Год". Есть ли способ сохранить имена столбцов заголовка?

Теги:
pandas

1 ответ

1
Лучший ответ

Если вы не используете Python 3. 7+, словари считаются неупорядоченными. Обходной путь состоит в том, чтобы сортировать, а затем загружать в collections.OrderedDict:

from collections import OrderedDict

df_dict = OrderedDict(sorted(df_dict.items(), key=lambda x: df.columns.get_loc(x[0])))

pd.DataFrame.columns.get_loc возвращает целочисленное расположение столбца. Мы предполагаем, что ключи df_dict являются столбцами.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню