Как изменить фрейм данных, чтобы отображать данные в PythonPython

Программы на Python
Anonymous
Как изменить фрейм данных, чтобы отображать данные в Python

Сообщение Anonymous »

Я хочу получить несколько акций из Yahoo Finance и конвертировать их в евро, если акции, например, выражены в долларах США или фунтах стерлингов. У меня есть код, который конвертирует исторические акции в евро с датой, но теперь мне нужно создать df, чтобы можно было правильно отобразить данные.
Это код, который у меня есть сейчас. import yfinance as yf
import pandas as pd
import numpy as np

start = '2013-01-01'
end = '2021-01-01'

rates = ['USDEUR=X', 'GBPEUR=X']
tickers = yf.Tickers(' '.join(rates))

exchange_rates = []
for i in range(len(tickers.tickers)):
exchange_rates.append(tickers.tickers.history(start=start, end=end).Close)

ex_df = pd.DataFrame(exchange_rates).T
ex_df.columns = rates
ex_df['EUREUR=X'] = 1.0

assets = {'^AEX':'EUR', 'AAPL':'USD', 'AZN.L':'GBP', 'AD.AS':'EUR', 'ASML.AS':'EUR'}

stock_df = pd.DataFrame()

for k,v in assets.items():
data = yf.download(k, start=start, end=end, progress=False).Close.to_frame()
data['ticker'] = k
if v[:3] == 'EUR':
data['rating'] = ex_df['EUREUR=X']
data['price'] = data['Close'] / data['rating']
elif v[:3] == 'USD':
data['rating'] = ex_df['USDEUR=X']
data['price'] = data['Close'] / data['rating']
elif v[:3] == 'GBP':
data['rating'] = ex_df['GBPEUR=X']
data['price'] = data['Close'] / data['rating']
else:
data['rating'] = np.NaN
data['price'] = np.NaN
stocks_df = pd.concat([stock_df, data], axis=0)


Подробнее здесь: https://stackoverflow.com/questions/661 ... -in-python

Вернуться в «Python»