如何使用Python 2.7中的Pandas从yahoo finance提取过去20个工作日的排爆股票数据

如何使用Python 2.7中的Pandas从yahoo finance提取过去20个工作日的排爆股票数据,pandas,pandas-datareader,Pandas,Pandas Datareader,现在我要做的是提取过去30天的数据,将其存储在数据框中,然后选择过去20天的数据以供使用。但是,如果过去20天中有一天是假日,那么Yahoo会将当天的交易量显示为0,并用前一天的调整收盘价填充OHLC(开盘价、高点、低点、收盘价、调整收盘价)。在下面的示例中,2016-01-26的数据无效,我不想检索此数据。 那么,我如何从雅虎获取过去20个工作日的数据呢? 我现在的代码如下: from datetime import date, datetime, timedelta import panda

现在我要做的是提取过去30天的数据,将其存储在数据框中,然后选择过去20天的数据以供使用。但是,如果过去20天中有一天是假日,那么Yahoo会将当天的交易量显示为0,并用前一天的调整收盘价填充OHLC(开盘价、高点、低点、收盘价、调整收盘价)。在下面的示例中,2016-01-26的数据无效,我不想检索此数据。 那么,我如何从雅虎获取过去20个工作日的数据呢? 我现在的代码如下:

from datetime import date, datetime, timedelta
import pandas_datareader.data as web
todays_date = date.today()
n = 30
date_n_days_ago = date.today() - timedelta(days=n)
yahoo_data = web.DataReader('ACC.NS', 'yahoo', date_n_days_ago, todays_date)
yahoo_data_20_day = yahoo_data.tail(20)

IIUC您可以添加过滤器,其中列
Volume
不是
0

from datetime import date, datetime, timedelta
import pandas_datareader.data as web

todays_date = date.today()
n = 30
date_n_days_ago = date.today() - timedelta(days=n)
yahoo_data = web.DataReader('ACC.NS', 'yahoo', date_n_days_ago, todays_date)

#add filter - get data, where column Volume is not 0
yahoo_data = yahoo_data[yahoo_data.Volume != 0]

yahoo_data_20_day = yahoo_data.tail(20)

我从Yahoo那里得到了过去15天的数据。雅虎系统有什么变化吗?今天是2021年5月26日,我正在从雅虎获取2021年5月11日之前的数据。
print yahoo_data_20_day
               Open     High      Low    Close  Volume  Adj Close
Date                                                             
2016-01-20  1218.90  1229.00  1205.00  1212.25  156300    1206.32
2016-01-21  1225.00  1236.95  1211.25  1228.45  209200    1222.44
2016-01-22  1239.95  1256.65  1230.05  1241.00  123200    1234.93
2016-01-25  1250.00  1263.50  1241.05  1245.00  124500    1238.91
2016-01-27  1249.00  1250.00  1228.00  1230.35  112800    1224.33
2016-01-28  1232.40  1234.90  1208.00  1214.95  134500    1209.00
2016-01-29  1220.10  1253.50  1216.05  1240.05  254400    1233.98
2016-02-01  1245.00  1278.90  1240.30  1271.85  210900    1265.63
2016-02-02  1266.80  1283.00  1253.05  1261.35  204600    1255.18
2016-02-03  1244.00  1279.00  1241.45  1248.95  191000    1242.84
2016-02-04  1255.25  1277.40  1253.20  1270.40  205900    1264.18
2016-02-05  1267.05  1286.00  1259.05  1271.40  231300    1265.18
2016-02-08  1271.00  1309.75  1270.15  1280.60  218500    1274.33
2016-02-09  1271.00  1292.85  1270.00  1279.10  148600    1272.84
2016-02-10  1270.00  1278.25  1250.05  1265.85  256800    1259.66
2016-02-11  1250.00  1264.70  1225.50  1234.00  231500    1227.96
2016-02-12  1234.20  1242.65  1199.10  1221.05  212000    1215.07
2016-02-15  1230.00  1268.70  1228.35  1256.55  130800    1250.40
2016-02-16  1265.00  1273.10  1225.00  1227.80  144700    1221.79
2016-02-17  1222.80  1233.50  1204.00  1226.05  165000    1220.05