Python财务:创建一个由总资产值组成的数据框架(列=多个标记;行=日期)

2024-09-25 00:35:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想了解python代码,以获得如下内容:

enter image description here

其中行上有日期,列上有各种标记(例如所有sp500公司)和值​​是他们的总资产

只有一家公司的代码如下: enter image description here

但我不能为数百家公司做这件事。你能帮助我吗?我先谢谢你


Tags: 代码标记image内容here公司descriptionsp500
1条回答
网友
1楼 · 发布于 2024-09-25 00:35:47

我创建了一个代码来获取雅虎财经上几只股票的损益表。许多股票可以包含在列表中或作为CSV文件导入。然后循环代码以检索和组合它们。然后,转置并修改列名。对于下一个问题,请将代码作为文本而不是图像发布。这样做的好处是你会得到一个更快的答案

import yfinance as yf
import numpy as np
import pandas as pd

symbol = ["AAPL", "TSLA", "AMZN", "NKE", "GOOG", "KO"]
tickers = yf.Tickers(" ".join(symbol))
all_assets = pd.DataFrame(columns=['symbol','Total Assets'])

for i,ticker in enumerate(tickers.tickers):
    try:
        assets= tickers.tickers[i].balance_sheet.T["Total Assets"].to_frame()
        assets['symbol'] = symbol[i]
        all_assets = pd.concat([all_assets, assets], axis=0)
    except:
        pass

all_assets.head(10)

symbol  Total Assets
2020-09-26  AAPL    3.238880e+11
2019-09-28  AAPL    3.385160e+11
2018-09-29  AAPL    3.657250e+11
2017-09-30  AAPL    3.753190e+11
2020-12-31  TSLA    5.214800e+10
2019-12-31  TSLA    3.430900e+10
2018-12-31  TSLA    2.974000e+10
2017-12-31  TSLA    2.865537e+10
2020-12-31  AMZN    3.211950e+11
2019-12-31  AMZN    2.252480e+11

all_assets.pivot(columns='symbol').head(5)
    Total Assets
symbol      AAPL    AMZN    GOOG    KO      NKE             TSLA
2017-05-31  NaN     NaN     NaN     NaN     2.325900e+10    NaN
2017-09-30  3.753190e+11    NaN     NaN     NaN     NaN     NaN
2017-12-31  NaN     1.313100e+11    1.972950e+11    8.789600e+10    NaN     2.865537e+10
2018-05-31  NaN     NaN     NaN     NaN     2.253600e+10    NaN
2018-09-29  3.657250e+11    NaN     NaN     NaN     NaN     NaN

相关问题 更多 >