带有空数据框的熊猫外部合并导致合并警告。为什么?

时间:2019-04-02 13:42:19

标签: python pandas merge

我正在创建一个包含两列的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 :(得分:0)

好,知道了。不是索引具有不同级别的数据。 设置索引后,我添加了以下行:

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

我从这篇文章中得到了答案: How to keep column MultiIndex values when merging pandas DataFrames