改变数据帧的列标头



可能是一个简单的答案,但我难住了。因此,我使用雅虎下载了一个公司代码列表,名为"组件"。组件是这样的;(但有91个条目)。

components = ['ABEV3.SA', 'ALPA4.SA', 'AMER3.SA']
todays_data = yf.download(components, period= '1d')

从结果表中,我拉出调整后的关闭并创建了一个新的数据框架:

close = todays_data['Adj Close']

结果是一个水平的,1行,91列的数据框架,称为"close":

<表类>ABEV3.SAALPA4.SAAMER3.SAtbody><<tr>日期2023-01-0614.2413.9110.13

你可以这样做:

df.rename_axis('Code').T.rename(columns={'2023-01-06':'Close'})

Date似乎是列索引的名称,这是因为在您转置之前它是行索引的名称。

因此,我们需要删除列索引名称,给行索引一个新名称,并更改列索引本身:

import pandas as pd
df = pd.DataFrame(
[14.24, 13.91, 10.13],
index=["ABEV3.SA", "ALPA4.SA", "AMER3.SA"],
columns=pd.Index([pd.Timestamp("2023-01-06")], name="Date")
)
# Date      2023-01-06
# ABEV3.SA       14.24
# ALPA4.SA       13.91
# AMER3.SA       10.13
df = df.rename_axis(None, axis=1)
#           2023-01-06
# ABEV3.SA       14.24
# ALPA4.SA       13.91
# AMER3.SA       10.13
df = df.rename_axis("Code", axis=0)
#           2023-01-06
# Code
# ABEV3.SA       14.24
# ALPA4.SA       13.91
# AMER3.SA       10.13
df = df.rename(columns={pd.Timestamp("2023-01-06"): "Close"})
#           Close
# Code
# ABEV3.SA  14.24
# ALPA4.SA  13.91
# AMER3.SA  10.13

如果你愿意,你可以把所有这些操作链接在一起

相关内容

  • 没有找到相关文章

最新更新