Я хочу, чтобы цены на акции Компании в отдельных столбцах были проиндексированы по дате в Pandas - PullRequest
1 голос
/ 07 мая 2020

Я запускаю следующий код в Python. Однако я получаю результат в одном столбце. Я хочу, чтобы на выходе были заголовки из списка (то есть названия компаний INFY, BAJFINANCE, SBIN) с ценой каждой компании в отдельном столбце, индексированном по дате. Я новичок в python. Буду очень признателен, если кто-то поможет?

Вход

from datetime import *
from nsepy import get_history
from nsetools import Nse
from pprint import pprint
import pandas as pd
import statistics
import matplotlib.pyplot as plt

lst=["INFY","BAJFINANCE","SBIN"]

for company in lst:
    data = get_history(symbol=company,start=date(2020,3,1), end=date(2020,3,15))
    df = data.loc[ : , "Close"]

    print (company,df)

ВЫХОД

INFY Date
2020-03-02    741.05
2020-03-03    747.00
2020-03-04    758.75
2020-03-05    754.60
2020-03-06    738.95
2020-03-09    704.45
2020-03-11    686.00
2020-03-12    631.20
2020-03-13    642.35
Name: Close, dtype: float64
BAJFINANCE Date
2020-03-02    4360.75
2020-03-03    4454.10
2020-03-04    4286.40
2020-03-05    4330.70
2020-03-06    4225.85
2020-03-09    4026.80
2020-03-11    4030.65
2020-03-12    3734.35
2020-03-13    3952.55
Name: Close, dtype: float64
SBIN Date
2020-03-02    287.40
2020-03-03    289.85
2020-03-04    285.30
2020-03-05    288.50
2020-03-06    270.50
2020-03-09    253.45
2020-03-11    245.10
2020-03-12    212.60
2020-03-13    242.00
Name: Close, dtype: float64

1 Ответ

0 голосов
/ 07 мая 2020

Вы можете сохранить отдельные фреймы данных в список (dfs), а затем использовать pandas 'concat, чтобы объединить их вместе.

lst=["INFY","BAJFINANCE","SBIN"]

dfs = []

for company in lst:
    data = get_history(symbol=company,start=date(2020,3,1), end=date(2020,3,15))
    df = data.loc[ : , "Close"].rename(company)
    dfs.append( df )

combined = pd.concat(dfs, axis=1)

print(combined)

Выходы

              INFY  BAJFINANCE  SBIN
Date            
2020-03-02  741.05  4360.75     287.40
2020-03-03  747.00  4454.10     289.85
2020-03-04  758.75  4286.40     285.30
2020-03-05  754.60  4330.70     288.50
2020-03-06  738.95  4225.85     270.50
2020-03-09  704.45  4026.80     253.45
2020-03-11  686.00  4030.65     245.10
2020-03-12  631.20  3734.35     212.60
2020-03-13  642.35  3952.55     242.00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...