合并两个数据帧,其中有一些共同的和一些不同的列名。产生新的列名,这些列名既不在其中,也不在每个列名中,而是合并了名称字符串。你知道吗
2个数据帧:
你知道吗测向列其中有“particle”、“frame”、“x old”、“y old” 已更正_traj.列有'particle'、'frame'、'x'、'y'
数据帧都没有“frame\u x”或“frame\u y”。你知道吗
但是,当我尝试合并时,结果没有名为“frame”的列,而是有两个新列“frame\ux”和“frame\uy”
两个数据帧索引当前都未命名,尽管它们链接到帧编号。我一直在努力避免索引和列号具有相同名称的错误。因此,一些代码试图删除索引名等不确定这是否是相关的,所以已经包括在内。你知道吗
数据帧是由trackpy的函数生成的,但我认为问题与pd.合并. 你知道吗
总的目标是从粒子的运动中减去一些粒子的平均漂移。我想把原来的x和y移到'x old'和'y old',把修正后的值放到'x'和'y'
drift = tp.motion.compute_drift(df)
corrected_traj = tp.motion.subtract_drift(df[['frame','x','y','particle']].copy(), drift)
df['x old'] = df['x'].copy()
df['y old'] = df['y'].copy()
df = df.drop(columns=['x','y'])
corrected_traj.index.name=None
df = pd.merge(df, corrected_traj,
on='particle')
抱歉,我试过缩进和点击代码,但似乎无法使其正确标记
我希望数据帧df带有“x”、“y”、“frame”、“particle”、“x old”、“y old”。你知道吗
取而代之的是“x”,“y”,“frame\u x”,“frame\u y”,“x old”,“y old”,“particle”
“frame x”和“frame y”的内容似乎是帧编号值。你知道吗
如果您想要有一个带有“x”、“y”、“frame”、“particle”、“x old”、“y old”的dataframe df,那么您应该按如下方式合并,以便在连接范围中合并particle和frame列。否则,它们将被视为基于传递给“on”的参数进行连接的列,因此将被视为frame_x、frame_y以分别标识它们。你知道吗
相关问题 更多 >
编程相关推荐