Загрузка серии в DataFrame в Pandas - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь загрузить временные ряды для нескольких акций в DataFrame:

import datetime
import numpy as np
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader.data as web
import fix_yahoo_finance as yf
yf.pdr_override()

#Get the historical prices
C= web.get_data_yahoo("C",start="2013-01-01", end="2018-09-24")
GS= web.get_data_yahoo("GS",start="2013-01-01", end="2018-09-24")


#Compute the returns
C_returns=C['Close'].pct_change()
GS_returns=GS['Close'].pct_change()

#Insert the returns into a pandas DataFrame:
df1=pd.DataFrame([C_returns,GS_returns],columns=['Citi','Goldman'])

У меня проблема в том, что результирующий DataFrame содержит пустые серии, хотя каждый из возвращаемых значенийСами ряды имеют ценности.Я неправильно загружаю серию возвращений в DataFrame?

1 Ответ

0 голосов
/ 13 октября 2018

Вы можете передать свою серию в виде словаря в pd.DataFrame:

df1 = pd.DataFrame({'Citi': C_returns, 'Goldman': GS_returns})

Или использовать pd.concat с axis=1, а затем назначить столбецимена.

df1 = pd.concat([C_returns,GS_returns], axis=1)
df1.columns = ['Citi', 'Goldman']

Или pd.DataFrame.T также работает:

df1 = pd.DataFrame([C_returns,GS_returns]).T
df1.columns = ['Citi', 'Goldman']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...