gpt4 book ai didi

python - 保留列名顺序 to_dict

转载 作者:行者123 更新时间:2023-12-01 09:20:06 25 4
gpt4 key购买 nike

如何保留 header 名称的顺序。该顺序不是按字母顺序排列的,而是自定义顺序。在数据框中没问题,但是当我执行 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

然后我调用它..这只是一个例子,但我接受我的方法的返回venue_statements.to_dict()

它最终首先显示“Income_Tax”而不是“Year”。有没有办法保留标题列名称?

最佳答案

除非您使用 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 的键是列。

关于python - 保留列名顺序 to_dict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50861613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com