Мой цикл всегда пропускает первый индекс - PullRequest
0 голосов
/ 29 мая 2018

Каждый раз, когда я создаю функцию цикла, обычно возникает проблема с первой:

Например:

dfd = quandl.get("FRED/DEXBZUS")
dfe = quandl.get("ECB/EURBRL")


df = [dfd, dfe]
dps = []

for i in df:

Я просто получаю значения второго кадра данных.

Используя это:

dfd = quandl.get("FRED/DEXBZUS")


df = [dfd]
dps = []

for i in df:

Я получил это:

Empty DataFrame
Columns: []
Index: []

И если я использую это (повторение первого):

dfd = quandl.get("FRED/DEXBZUS")
dfe = quandl.get("ECB/EURBRL")


df = [dfd, dfd, dfe]
dps = []

for i in df:

Iполучить оба кадра данных корректно

Examples :

import quandl
import pandas as pd
#import matplotlib
import matplotlib.pyplot as plt


dfd = quandl.get("FRED/DEXBZUS")
dfe = quandl.get("ECB/EURBRL")


df = [dfd, dfe]
dps = []

for i in df:
    df1 = i.reset_index()
    results = pd.DataFrame(df1)
    results = results.rename(columns={'Date': 'ds','Value': 'y'})
    dps = pd.DataFrame(dps.append(results))
    print(dps)


Empty DataFrame
Columns: []
Index: []
             ds       y
0    2008-01-02  2.6010
1    2008-01-03  2.5979
2    2008-01-04  2.5709
3    2008-01-07  2.6027
4    2008-01-08  2.5796

ОБНОВЛЕНИЕ

Как предложил Бруно, это связано с этой функцией:

dps = pd.DataFrame(dps.append(results))

Как добавить весь набор данных в один данныерамка?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

result=Pd.DataFrame(df1) Если вы создаете такой фрейм данных и не задаете столбцы, то по умолчанию сначала в качестве столбца берется 1-я строка, а затем вы переименовываете столбцы в созданный по умолчанию.Поэтому, пожалуйста, создайте pd.DataFrame(df1,columns=[column_list]).Первый ряд не пропустит.

0 голосов
/ 29 мая 2018
#this will print every element in df
for i in df:
    print i

Кроме того,

for dfIndex, i in enumerate(df):
    print i
    print dfIndex #this will print the index of i in df

Обратите внимание, что индексы начинаются с 0, а не 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...