Добавление ведущих нулей в столбцы данных при загрузке из файлов CSV с помощью pandasPython

Программы на Python
Anonymous
Добавление ведущих нулей в столбцы данных при загрузке из файлов CSV с помощью pandas

Сообщение Anonymous »

Извиняюсь, если у этой проблемы есть очевидный ответ, который я пропустил; Я новичок в использовании pandas в Python, но не смог найти подходящего ответа в документации.
В настоящее время я написал сценарий для загрузки и объединения данных временных рядов из двух Файлы .csv, имеющие одинаковое базовое имя файла (указанное в виде пути с помощью Pathlib), но разные суффиксы. Минимальный рабочий пример:

Код: Выделить всё

import pandas as pd

def load_data(filename):
headers_0 = ['a', 'b', 'c']  # Headers for first file. May have more entries than columns in file
headers_1 = ['d', 'e']       # Headers for second file.

data_0 = pd.read_csv(str(filename.with_suffix('')) + '_0', header=None, delim_whitespace=True)
data_0.columns = headers_0[0:data_0.shape[1]]

data_1 = pd.read_csv(str(filename.with_suffix('')) + '_1', header=None, delim_whitespace=True)
data_1.columns = headers_1[0:data_1.shape[1]]

data = data_0.join(data_1)
data.fillna(0, inplace=True)

return data
До сих пор я использовал load_data только для наборов данных, где data_0 и data_1 имеют одинаковую длину столбцов (одинаковую продолжительность времени -ряд). Однако сейчас я столкнулся с ситуацией, когда длина столбца data_1 короче, чем data_0; это связано с тем, что данные в data_1 начинают записываться несколько позже, чем data_0.
Как мне использовать pandas для заполнения столбцов data_1 с ведущими нулями, так что длина столбца в data_0 и data_1 одинакова? Я считаю, что строка data.fillna(0, inplace=True) заполняет несоответствие длины конечными нулями; есть ли очевидный способ изменить это на ведущие нули? Обратите внимание, что я не знаю длину ни одного набора данных априори, поэтому я был бы признателен за помощь в поиске решения, которое работает на основе длины данных, загруженных с помощью pandas.
Я пробовал разные варианты DataFrame.fillna, такие как метод=backfill, но ни одна из этих попыток не дала ожидаемого результата.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ing-pandas

Вернуться в «Python»