Как получить вывод функции печати во фрейме данных в Python - PullRequest
0 голосов
/ 30 сентября 2018

возвращает это фрейм данных Python, и это голова.это только для 2 акций ежедневный доход

date         NOW            BBY
2013-09-30  NaN           NaN
2013-10-01  -0.008855   0.012000
2013-10-02  0.015149    -0.007642
2013-10-03  -0.002296   0.000796
2013-10-04  0.043720    0.012206

У меня есть простой код, который вычисляет годовой коэффициент Шарпа для акций

Функция

N= 252
sharpe = np.sqrt(N)* returns.mean()/returns.std()
print (sharpe)

, и это выходкогда я печатаю (sharpe)

NOW    0.906136
BBY    0.667774
dtype: float64

, я хочу получить это значение во фрейме данных с именем столбца = тикером и коэффициентом Шарпа, чтобы оно выглядело следующим образом

Ticker Sharpe
NOW    0.906136
BBY    0.667774

Я хочу получить это во фрейме данных, поскольку у меня есть несколько других функций печати, таких как VAr и т. Д., Так что я могу объединить их и затем экспортировать фрейм данных в Excel.

Пожалуйста, помогите мне, как получить вывод на печать во фрейме данных в Python.

1 Ответ

0 голосов
/ 30 сентября 2018
import numpy as np
import pandas as pd

# Construct initial dataframe    
df = pd.DataFrame({
    'date': ['2013-0-30', '2013-10-01', '2013-10-02', '2013-10-03', '2013-10-04'],
    'NOW': [np.nan, -0.008855, 0.015149, -0.002296, 0.043720],
    'BBY': [np.nan, 0.012000, -0.007642, 0.000796, 0.012206],
})
df = df.set_index('date')

# Calculate Sharpe ratio
N = 252
sharpe = np.sqrt(N) * df.mean() / df.std()

# Transform Sharpe ratio data from Series to DataFrame
df2 = sharpe.to_frame('Sharpe')
df2.index.name = 'Ticker'
df2 = df2.reset_index()

, что дает в результате:

In [1]: df2
Out[1]: 
  Ticker    Sharpe
0    NOW  8.061887
1    BBY  7.174034
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...