Mer*_*oug 5 python renaming dataframe pandas
我想更改 pd 数据框的列名称,但我发现检索数据后列的顺序会发生变化。以下代码指定部门 ETF 符号并从雅虎财经获取数据。
问题是,例如,一旦我运行代码,“XLY”就不再是数据帧中的第一个系列,因此我不能像通常那样运行 sec_perf.columns = ['Name1', 'Name2', etc]因为它不会正确命名列。我在这里搞砸了什么?
import pandas as pd
import pandas_datareader.data as web
import datetime as datetime
end = datetime.date.today()
secs = ['XLY', 'XLP', 'XLE',
'XLF', 'XLV', 'XLI',
'XLB', 'XLRE', 'XLK', 'XLU']
sec_perf = web.DataReader(secs, 'yahoo',
start = datetime.datetime(2016,12,31),
end = end)['Adj Close']
Run Code Online (Sandbox Code Playgroud)
使用reindex_axis
sec_perf.reindex_axis(secs, 1)
Run Code Online (Sandbox Code Playgroud)
您也可以曾经sec_perf[secs]做过同样的事情。 但我们不久前就这样做了,并确定这reindex_axis是最快的。