yfinance 多家公司的特定财务
yfinance specific financials for multiple companies
我想从多家公司获得当年的净收入和研发情况。目前,来自 yfinance 库的 ticker.financials 为我提供了 4 年和多个指标的完整 table。
我正在检查下面的财务指标,但只有年份。
# Import packages
import yfinance as yf
import pandas as pd
msft = yf.Ticker("MSFT")
info = msft.financials
info.keys()
DatetimeIndex(['2021-06-30', '2020-06-30', '2019-06-30', '2018-06-30'], dtype='datetime64[ns]', name='', freq=None)
例如,
msft.financials
给我这个
我想创建一个类似
的代码组
tickers = ["AAPL", "MSFT", "IBM", "GOOG", "ORCL"]
对于这些公司,我需要 2021-06-30 的净收入和研发。
yfinance 怎么可能做到这一点?
由于获取公司财务信息的格式是dataframe,所以最后一个closing date合并成一个空dataframe。合并后,更新代码列表中的列名称。以下是检索后的dataframe的一部分。根据获得的数据,我们为每个人提取必要的主题。
import yfinance as yf
import pandas as pd
tickers = ["AAPL", "MSFT", "IBM", "GOOG", "ORCL"]
df = pd.DataFrame()
cols = []
for ticker in tickers:
company = yf.Ticker(ticker)
info = company.financials
df = pd.concat([df, info.iloc[:,0]], axis=1)
cols.append(ticker+'('+info.columns[0].strftime('%Y-%m-%d')+')')
df.columns = cols
df.head()
AAPL(2021-09-25) MSFT(2021-06-30) IBM(2020-12-31) GOOG(2020-12-31) ORCL(2021-05-31)
Research Development 21914000000.0 20716000000.0 6333000000.0 27573000000.0 6527000000.0
Effect Of Accounting Charges None None None None None
Income Before Tax 109207000000.0 71102000000.0 4637000000.0 48082000000.0 12999000000.0
Minority Interest None None 129000000.0 None 714000000.0
Net Income 94680000000.0 61271000000.0 5590000000.0 40269000000.0 13746000000.0
研究开发与收入
df.iloc[[0,4],]
AAPL(2021-09-25)
MSFT(2021-06-30)
IBM(2020-12-31)
GOOG(2020-12-31)
ORCL(2021-05-31)
Research Development
2.1914e+10
2.0716e+10
6.333e+09
2.7573e+10
6.527e+09
Net Income
9.468e+10
6.1271e+10
5.59e+09
4.0269e+10
1.3746e+10
我想从多家公司获得当年的净收入和研发情况。目前,来自 yfinance 库的 ticker.financials 为我提供了 4 年和多个指标的完整 table。
我正在检查下面的财务指标,但只有年份。
# Import packages
import yfinance as yf
import pandas as pd
msft = yf.Ticker("MSFT")
info = msft.financials
info.keys()
DatetimeIndex(['2021-06-30', '2020-06-30', '2019-06-30', '2018-06-30'], dtype='datetime64[ns]', name='', freq=None)
例如,
msft.financials
给我这个
我想创建一个类似
的代码组tickers = ["AAPL", "MSFT", "IBM", "GOOG", "ORCL"]
对于这些公司,我需要 2021-06-30 的净收入和研发。
yfinance 怎么可能做到这一点?
由于获取公司财务信息的格式是dataframe,所以最后一个closing date合并成一个空dataframe。合并后,更新代码列表中的列名称。以下是检索后的dataframe的一部分。根据获得的数据,我们为每个人提取必要的主题。
import yfinance as yf
import pandas as pd
tickers = ["AAPL", "MSFT", "IBM", "GOOG", "ORCL"]
df = pd.DataFrame()
cols = []
for ticker in tickers:
company = yf.Ticker(ticker)
info = company.financials
df = pd.concat([df, info.iloc[:,0]], axis=1)
cols.append(ticker+'('+info.columns[0].strftime('%Y-%m-%d')+')')
df.columns = cols
df.head()
AAPL(2021-09-25) MSFT(2021-06-30) IBM(2020-12-31) GOOG(2020-12-31) ORCL(2021-05-31)
Research Development 21914000000.0 20716000000.0 6333000000.0 27573000000.0 6527000000.0
Effect Of Accounting Charges None None None None None
Income Before Tax 109207000000.0 71102000000.0 4637000000.0 48082000000.0 12999000000.0
Minority Interest None None 129000000.0 None 714000000.0
Net Income 94680000000.0 61271000000.0 5590000000.0 40269000000.0 13746000000.0
研究开发与收入
df.iloc[[0,4],]
AAPL(2021-09-25) | MSFT(2021-06-30) | IBM(2020-12-31) | GOOG(2020-12-31) | ORCL(2021-05-31) | |
---|---|---|---|---|---|
Research Development | 2.1914e+10 | 2.0716e+10 | 6.333e+09 | 2.7573e+10 | 6.527e+09 |
Net Income | 9.468e+10 | 6.1271e+10 | 5.59e+09 | 4.0269e+10 | 1.3746e+10 |