簡體   English   中英

如何從現有列線性插入新列?

[英]How to linearly interpolate a new column from existing columns?

我正在嘗試使用兩個可用列中的值來線性插值新列。 我正在使用np.interp ,但它給出了關於fp的錯誤。 誰能建議一種使用pandasnumpy進行線性插值的方法?

X1      X2
34.5    36.3
12.4    11.3
16.5    15.9
8.5      8.1
56.6    55.6


df['intreped_X'] = pd.Series(dtype='float') #adding a new column with NaN
df['intreped_X'] = np.interp(df['X1'].values,
                           df['X2'].values)

錯誤: TypeError: _interp_dispatcher() missing 1 required positional argument: 'fp'

更新:我還從這個鏈接測試了以下腳本,但不會在新列中產生新值,只是在每一行中添加"bound method NDFrame.interpolate..."

df['intreped_X'] = np.NaN
df = df.fillna(df.interpolate, axis=1)
print(df)

     X1                   intreped_X                     X2
0   34.5    <bound method NDFrame.interpolate of A ...  36.3
1   12.4    <bound method NDFrame.interpolate of A ...  11.3
2   16.5    <bound method NDFrame.interpolate of A ...  15.9
3   8.5     <bound method NDFrame.interpolate of A ...  8.1
4   56.6    <bound method NDFrame.interpolate of A ...  55.6

在填充有NaN值的兩個現有列之間添加一個新列,然后使用帶有axis=1interpolate

df.insert(1, 'intreped_X', np.nan)
df.interpolate(axis=1)

結果:

      X1  intreped_X    X2
0   34.5       35.40  36.3
1   12.4       11.85  11.3
2   16.5       16.20  15.9
3   8.5         8.30   8.1
4   56.6       56.10  55.6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM