如何用Python/Pandas减去2列未对齐的数据?

2024-03-29 11:10:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧

df1=

   x  y1
0  0   0
1  1   1
2  2   2
3  4   3


df2=

     x  y2
0  0.0   0
1  0.5   1
2  1.5   2
3  3.0   3
4  4.0   4

我需要计算y2-y1(对于相同的x值) (为了查看两张图之间的差异)

正如你所见,他们之间有些共同的价值观。。。有些不是

我想我需要重新取样。。。但我不知道怎么做! 我需要对齐数据,以便对2个数据帧具有相同的“x”列。在

在两个点之间,应进行线性插值以获得给定x处的y值

在这种情况下,以x_步长=0.5重新采样数据将是很好的

我做了这个。。。在

^{2}$

Tags: 数据情况差异df1df2步长价值观y1
1条回答
网友
1楼 · 发布于 2024-03-29 11:10:34
import pandas as pd
import pylab as pl

df1 = pd.DataFrame([[0.0,0.0],[1.0,1.0],[2.0,2.0],[4.0,3.0]],columns=['x','y1'])
df2 = pd.DataFrame([[0.0,0.0],[0.5,1.9],[1.5,2.0],[3.0,3.0],[4.0,4.0]],columns=['x','y2'])
x = np.union1d(df1.x, df2.x)
y1 = np.interp(x, df1.x, df1.y1)
y2 = np.interp(x, df2.x, df2.y2)
pl.plot(x, y1, "-o")
pl.plot(x, y2, "-o")

enter image description here

相关问题 更多 >