Слияние нескольких DataFrames в Pandas - PullRequest
0 голосов
/ 03 октября 2018

У меня есть исторические данные нескольких пар, и я пытаюсь получить их цены закрытия с названием пары и хотел бы объединить их с соответствующей датой и временем.Это то, что я сделал до сих пор:

def load_pairs(arr, period):
    a = arr[0]
    file = '../datas/forex_feed/{} {}.csv'.format(period, a)
    df = pd.read_csv(file, index_col=["Date"], usecols=["Date", "Close"])
    df.rename(columns={'Close':a}, inplace=True)
    for sym in arr:
        if sym == a:
            continue
        file = '../datas/forex_feed/{} {}.csv'.format(period, sym)
        db = pd.read_csv(file, index_col=["Date"], usecols=["Date", "Close"])
        db.rename(columns={'Close':sym}, inplace=True)
        df.join(db)
    print(df.tail())

pairs = 'XAUUSD,XAGUSD,AUDUSD,EURUSD,GBPUSD,EURGBP,EURJPY,GBPJPY,USDCAD,EURCAD,USDCHF,USDZAR,USDJPY,USDTRY,EURTRY,EURAUD,EURCAD,EURCHF,GBPAUD,GBPCAD,GBPCHF,NZDJPY,NZDUSD'
df = load_pairs(pairs.split(','), '15m')

                       XAUUSD
Date                         
2018-09-27 13:15:00  1195.475
2018-09-27 13:30:00  1195.702
2018-09-27 13:45:00  1195.612
2018-09-27 14:00:00  1195.183
2018-09-27 14:15:00  1195.027

Каким-то образом он загружает только XAUUSD и никогда не объединяет остальные файлы.Ниже вы можете найти ожидаемый результат:

                       XAUUSD      XAGUSD      AUDUSD
Date                         
2018-09-27 13:15:00  1195.475    14.74500     0.71548
2018-09-27 13:30:00  1195.702    14.74512     0.715
2018-09-27 13:45:00  1195.612    14.74572     0.71501
2018-09-27 14:00:00  1195.183    14.74608     0.71595
2018-09-27 14:15:00  1195.027    14.74501     0.71570

Что я здесь не так делаю?

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