Внешнее слияние панд с пустым фреймом данных вызывает предупреждение о слиянии.Зачем? - PullRequest
0 голосов
/ 02 апреля 2019

Я создаю data_frame с двумя столбцами, затем устанавливаю индекс для этих двух столбцов.Так что он пуст, но имеет индекс.Затем я соединяю это с другим data_frame с тем же индексом.Это работает, но я получаю следующее предупреждение:

UserWarning: объединение разных уровней может дать непредвиденный результат (2 уровня слева, 1 справа) warnings.warn (msg, UserWarning)

Я что-то упустил?Есть ли какое-то неожиданное поведение?Я хотел бы избавиться от предупреждения.Код ниже.Я создаю один фрейм данных в коде, а другой загружается из файла.

def forward_fill_dates(self, start_date, end_date):
    dates = []
    current_date = start_date

    while current_date <= end_date:
        dates.append({'Date': int(f'{current_date:%Y%m%d}'), 'Bin': 0})
        current_date = bd.shift_day(current_date, 1)

    date_df = pandas.DataFrame(dates).set_index(['Date', 'Bin'])
    unstacked_df = self.other_data.unstack()
    joined_df = pandas.merge(unstacked_df, date_df, how='outer', left_index=True, right_index=True)
    self.other_df = joined_df.fillna(method='ffill').stack()

1 Ответ

0 голосов
/ 04 апреля 2019

ОК, разобрался.Это не индексы, которые имеют разные уровни, это данные.Я добавил следующую строку после установки индекса:

date_df.columns = pandas.MultiIndex.from_product([date_df.columns, ['']])

Я получил ответ из этого поста: Как сохранить значения MultiIndex столбца при объединении панд DataFrames

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