Python 使用Pandas/NumPy提高分辨率
我需要更改数组中的点数,这样新的点y值将与左侧的原始点相同Python 使用Pandas/NumPy提高分辨率,python,pandas,numpy,Python,Pandas,Numpy,我需要更改数组中的点数,这样新的点y值将与左侧的原始点相同 import numpy as np def regularizeSeries1(x, y, M = 100): s0 = (x - x[0]) s1 = np.linspace(0, max(s0), M + 1) z = np.empty(M) for i in range(M): z[i] = y[(s0 <= s1[i])][-1] return(z) x = n
import numpy as np
def regularizeSeries1(x, y, M = 100):
s0 = (x - x[0])
s1 = np.linspace(0, max(s0), M + 1)
z = np.empty(M)
for i in range(M):
z[i] = y[(s0 <= s1[i])][-1]
return(z)
x = np.array([0, 1, 2, 5, 7,8 ,10])
y = np.array([0, 1, 3,4, 6, 7.5, 9])
M = 20
Z = regularizeSeries1(x, y, M)
将numpy导入为np
def正则化系列1(x,y,M=100):
s0=(x-x[0])
s1=np.linspace(0,最大(s0),M+1)
z=np.空(M)
对于范围内的i(M):
z[i]=y[(s0使用pd.ffill合并并填充nan
import pandas as pd
import numpy as np
M = 20
x = np.array([0, 1, 2, 5, 7,8 ,10])
y = np.array([0, 1, 3,4, 6, 7.5, 9])
s1 = np.linspace(0, max(s0), M)
df1 = pd.DataFrame({'x': x, 'y': y})
df2 = pd.DataFrame({'x': s1})
df3 = df1.merge(df2, on='x', how='outer').sort_values(by='x').ffill().reset_index(drop=True)
df3 = df3[df3['x'].isin(df2['x'])]
newX, newY = df3['x'], df3['y']