我很难从"pandas.core.series.Series“中提取日期列。
这是我的代码:
import yfinance as yf
msft = yf.Ticker("GOOG")
print(msft.history(period = "max"))输出:
Open High Low ... Volume Dividends Stock Splits
Date ...
2004-08-19 49.81 51.84 47.80 ... 44871300 0 0.0
2004-08-20 50.32 54.34 50.06 ... 22942800 0 0.0
2004-08-23 55.17 56.53 54.32 ... 18342800 0 0.0
2004-08-24 55.41 55.59 51.59 ... 15319700 0 0.0
2004-08-25 52.28 53.80 51.75 ... 9232100 0 0.0
... ... ... ... ... ... ... ...
2019-10-28 1275.45 1299.31 1272.54 ... 2613200 0 0.0
2019-10-29 1276.23 1281.59 1257.21 ... 1869200 0 0.0
2019-10-30 1252.97 1269.36 1252.00 ... 1407700 0 0.0
2019-10-31 1261.28 1267.67 1250.84 ... 145470000 0 0.0
2019-11-01 1265.00 1274.62 1260.50 ... 1669400 0 0.0我想取得以下结果:
Date
2004-08-19
2004-08-20
2004-08-23
2004-08-24
2004-08-25
2019-10-28
2019-10-29
2019-10-30
2019-10-31
2019-11-01我尝试过研究并发现了一些想法:
pandas.Series.str.extract发现了一个类似的问题
Extract date from pandas.core.series.Series in pandas dataframe columns
但是作为一个初学者,我仍然不理解那些应该解决的问题。
发布于 2019-11-02 09:38:40
如果首先将完整的历史记录保存为dataframe,则可以将索引提取到新的dataframe:
import yfinance as yf
import pandas as pd
msft = yf.Ticker("GOOG")
df1 = msft.history(period="max")
print(df1)这将输出与您的示例相同的结果,但现在保存在dataframe中。下一步:
date = pd.DataFrame(columns=['date'])
date['date'] = df1.index.copy()
date输出:
日期0 2004-08-19 1 2004-08-20 2 2004-08-23 3 2004-08-24 4 2004-08-25 . 3824 2019-28 3825 2019-10-29 3826 2019-10-30 3827 2019-10-31 3828 2019-11-01
https://stackoverflow.com/questions/58669608
复制相似问题