0

#你好我有2个数据框如下

!pip install yahoo_earnings_calendar

import pandas as pd`enter code here`
from datetime import datetime
from datetime import timedelta
from yahoo_earnings_calendar import YahooEarningsCalendar
import dateutil.parser

#设置报告日期

report_date = datetime.now().date()

#下载收入日历

yec = YahooEarningsCalendar()
earnings_list = yec.earnings_on(report_date)

#将数据保存在pandas DataFrame中

 earnings_df = pd.DataFrame(earnings_list)

打印出income_df 会给我在雅虎下的每日股票收益。

但是,如果我只想要 SNP 的股票代码,我如何只提取那些属于标准普尔、道琼斯或纳斯达克的股票代码?

下面的代码为我提供了 ah 的 snp 股票代码列表。

table=pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')
snp = table[0]
snp= snp['Symbol']
print(snp)

如何比较 snp 中的 'Symbol' 列与 Earning_list 中的 'ticker' 列,并仅从 Earning_list 中筛选出 snp 中的符号?

谢谢。

4

1 回答 1

0

尝试使用以下代码,

>>> tickers_in_snp=earnings_df[earnings_df['ticker'].isin(snp)]

这给出了一个值的数据框,其中股票代码的值出现在 snp 的符号列中。

>>> tickers_in_snp.head()
    companyshortname  epsactual  ...  startdatetimetype  ticker
8     Amazon.com Inc        NaN  ...                AMC    AMZN
9   A. O. Smith Corp        NaN  ...                BMO     AOS
15  Under Armour Inc        NaN  ...                TAS     UAA
19      Alphabet Inc        NaN  ...                AMC   GOOGL
26         Aptiv PLC        NaN  ...                BMO    APTV
[5 rows x 9 columns]

[64 rows x 9 columns]是过滤在 snp 处可用的值后新数据框的形状。

于 2020-07-30T11:10:53.833 回答