从 yfinance 到使用 pandas 操作数据框
From yfinance to manipulate dataframe with pandas
你好,我是 python 和 pandas 的新手,我需要一些帮助来处理 yfinance 数据帧输出
我正在尝试使用以下代码通过 yfinance 从 yahoo finance 抓取一些市场数据:
data = yf.download("DYAN.JK CENT.JK", start="2015-01-01",
end="2018-12-31", interval="1mo", group_by='tickers')
并获取此数据帧输出:
DYAN.JK CENT.JK
Date Open High Low Close Adj Close Volume Open High Low Close
2015-01-01 138.0 142.0 121.0 121.0 118.931625 37380000.0 158.462952 167.222214 155.277771 155.277771 ...
2015-02-01 122.0 142.0 110.0 122.0 119.914528 375925600.0 155.277771 156.870361 155.277771 155.277771 ...
2015-03-01 121.0 123.0 102.0 103.0 101.239319 70775500.0 155.277771 155.277771 131.388885 155.277771 ...
2015-04-01 105.0 107.0 74.0 76.0 74.700851 62136500.0 155.277771 155.277771 128.203705 151.296295 ...
... ... ... ... ... ... ... ... ... ... ...
我想知道如何使用 pandas melt 将数据框操作为这种格式:
Date Ticker Open High Low Close Adj Close Volume
2015-01-01 DYAN.JK 138.0 142.0 121.0 121.0 118.931625 37380000.0
2015-02-01 DYAN.JK 122.0 142.0 110.0 122.0 119.914528 375925600.0
2015-03-01 DYAN.JK 121.0 123.0 102.0 103.0 101.239319 70775500.0
... ... ... ... ... ... ... ...
2015-01-01 CENT.JK 158 167 155 155 ... ...
2015-02-01 CENT.JK 155 156 155 155 ... ...
2015-03-01 CENT.JK 155 155 131 155 ... ...
... ... ... ... ... ... ... ...
非常感谢您的帮助
你可以这样做:
data.stack(0).reset_index().rename(columns={'level_1':'Ticker'})
你好,我是 python 和 pandas 的新手,我需要一些帮助来处理 yfinance 数据帧输出
我正在尝试使用以下代码通过 yfinance 从 yahoo finance 抓取一些市场数据:
data = yf.download("DYAN.JK CENT.JK", start="2015-01-01",
end="2018-12-31", interval="1mo", group_by='tickers')
并获取此数据帧输出:
DYAN.JK CENT.JK
Date Open High Low Close Adj Close Volume Open High Low Close
2015-01-01 138.0 142.0 121.0 121.0 118.931625 37380000.0 158.462952 167.222214 155.277771 155.277771 ...
2015-02-01 122.0 142.0 110.0 122.0 119.914528 375925600.0 155.277771 156.870361 155.277771 155.277771 ...
2015-03-01 121.0 123.0 102.0 103.0 101.239319 70775500.0 155.277771 155.277771 131.388885 155.277771 ...
2015-04-01 105.0 107.0 74.0 76.0 74.700851 62136500.0 155.277771 155.277771 128.203705 151.296295 ...
... ... ... ... ... ... ... ... ... ... ...
我想知道如何使用 pandas melt 将数据框操作为这种格式:
Date Ticker Open High Low Close Adj Close Volume
2015-01-01 DYAN.JK 138.0 142.0 121.0 121.0 118.931625 37380000.0
2015-02-01 DYAN.JK 122.0 142.0 110.0 122.0 119.914528 375925600.0
2015-03-01 DYAN.JK 121.0 123.0 102.0 103.0 101.239319 70775500.0
... ... ... ... ... ... ... ...
2015-01-01 CENT.JK 158 167 155 155 ... ...
2015-02-01 CENT.JK 155 156 155 155 ... ...
2015-03-01 CENT.JK 155 155 131 155 ... ...
... ... ... ... ... ... ... ...
非常感谢您的帮助
你可以这样做:
data.stack(0).reset_index().rename(columns={'level_1':'Ticker'})