首页 > 解决方案 > 为什么熊猫合并跳过了一些行

问题描述

我有 df1,df2 共享相互列(时间),其中 df2.time ∈ df1.also tdf1 形状为(2353X11),df2 形状为(57X1)。我正在尝试使用合并方法创建 df3,以根据 df2 的行从 df1 中提取一些行。问题是 df3 缺少一些行,即使 df1 和 df2 都是 float64 并且具有相互值。df3 形状也应该有 57 行,但我只有 54 行!

df1

df1

df2

df2

def pressure_filter (noisydata, reducedtime, filcutoff, tzero):
    b,a = sig.butter(2, filcutoff, btype='low', analog=False)
    noisydata['p_lowcut'] = sig.filtfilt(b, a, noisydata.p_noisy)
    noisydata.at[0,'p_lowcut'] = noisydata.at[0,'p_noisy']
    noisydata['p_lowcut_ma'] = noisydata['p_lowcut'].rolling(20, center = True).mean()
    noisydata['p_lowcut_ma'] = noisydata.apply(lambda row: row['p_lowcut'] if 
                                            np.isnan(row['p_lowcut_ma'])
                                            else row['p_lowcut_ma'], axis=1)

    datared = pd.merge(noisydata, reducedtime, on=['time'], how='inner')
    return datared

标签: pythonpandasdataframe

解决方案


推荐阅读