объединять кадры данных один за другим - PullRequest
0 голосов
/ 17 сентября 2018

Приведенный ниже код читает файлы, сохраняет их в кадрах данных, а затем объединяет их все и после объединения повторяет выборку данных в секунду. Так как это слишком тяжело для памяти. То, что я хочу, это делать это по частям. Например, я прочитал два файла, констатирую их повторную выборку. затем прочитайте следующий файл, объедините его с результирующими первыми двумя файлами и выполните повторную выборку и так далее для 10 файлов, файл за файлом. Как я могу изменить код. Может ли кто-нибудь помочь мне с этим. Следующий мой код

import pandas as pd
import os
#import matplotlib.pyplot as plt
#df1 = pd.read_hdf("E:\examples\hdf files\conew1.h5", 'df')
#df2 = pd.read_hdf("E:\examples\hdf files\conew2.h5", 'df')
#df3 = pd.read_hdf("E:\examples\hdf files\conew3.h5", 'df')
hdfdirectory = "E:\examples\hdf files"
number_of_dfs=1
df=None
for fi in os.listdir(hdfdirectory):

    hdfpath =  os.path.join(hdfdirectory, fi)
    print hdfpath
    df1 = pd.read_hdf(hdfpath, 'df')

    for i in range(number_of_dfs):
        if df is None:
            df=pd.DataFrame({'timestamp':df1.timestamp , 'url' : df1.url})
            dft  = df.set_index('timestamp').resample('S').count()
        else:
            temp=pd.DataFrame({'timestamp':df1.timestamp , 'url' :df1.url})
            tempt  = temp.set_index('timestamp').resample('S').count()
            df=pd.concat([dft,tempt])

1 Ответ

0 голосов
/ 18 сентября 2018

Пытался создать пример, иллюстрирующий мою точку зрения. Возможно, вам придется немного подправить, но вы поймете,

hdfdirectory = "E:\examples\hdf files"
df=None
for fi in os.listdir(hdfdirectory):

    hdfpath =  os.path.join(hdfdirectory, fi)
    print hdfpath
    df1 = pd.read_hdf(hdfpath, 'df')

    if df is None:
        df=pd.DataFrame({'timestamp':df1.timestamp , 'url' : df1.url})
        dft  = df.set_index('timestamp').resample('S').count()
        df=dft
    else:
        temp=pd.DataFrame({'timestamp':df1.timestamp , 'url' :df1.url})
        tempt  = temp.set_index('timestamp').resample('S').count()
        df=pd.concat([df,tempt])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...