如何从“ pandas.core.series.Series”中提取日期?

时间:2019-11-02 08:56:42

标签: python pandas

我很难从“ 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

但是,作为一个初学者,我仍然不理解所谓的解决方案。

1 个答案:

答案 0 :(得分:0)

如果您首先将完整的历史记录另存为数据框,则可以将索引提取到新的数据框:

import yfinance as yf
import pandas as pd 
msft = yf.Ticker("GOOG")
df1 = msft.history(period="max")
print(df1)

这将输出与您的示例相同的内容,但现在保存在数据框中。下一个:

date = pd.DataFrame(columns=['date'])
date['date'] = df1.index.copy()
date

输出:

  date
0 2004-08-19
1 2004-08-20
2 2004-08-23
3 2004-08-24
4 2004-08-25
...   ...
3824  2019-10-28
3825  2019-10-29
3826  2019-10-30
3827  2019-10-31
3828  2019-11-01
相关问题