Nội suy là dễ dàng trong gấu trúc bằng cách sử dụng df.interpolate()
là có một phương pháp trong gấu trúc với cùng một sự thanh lịch làm một cái gì đó như ngoại suy. Tôi biết ngoại suy của tôi được trang bị cho một polynom độ thứ hai.ngoại suy gấu trúc của đa thức
6
A
Trả lời
1
"Với cùng một sự thanh lịch" là một trật tự hơi cao nhưng điều này có thể được thực hiện. Theo tôi biết, bạn sẽ cần tính toán các giá trị ngoại suy theo cách thủ công. Lưu ý rằng rất khó có những giá trị này sẽ rất có ý nghĩa trừ khi dữ liệu bạn đang hoạt động thực sự tuân theo luật của hình thức nội suy.
Ví dụ, kể từ khi bạn yêu cầu một mức độ thứ hai phù hợp đa thức:
import numpy as np
t = df["time"]
dat = df["data"]
p = np.poly1d(np.polyfit(t,data,2))
Bây giờ p (t) là giá trị của đa thức phù hợp nhất tại thời điểm t.
0
Phép ngoại suy
Xem answer này cho cách extrapolate các giá trị của mỗi cột của một DataFrame
với một 3rd order polynomial. Bạn có thể dễ dàng sử dụng different order (e.g. 2nd order) polynomial bằng cách thay đổi func()
.
Snippet từ answer
# Function to curve fit to the data def func(x, a, b, c, d): return a * (x ** 3) + b * (x ** 2) + c * x + d # Initial parameter guess, just to kick off the optimization guess = (0.5, 0.5, 0.5, 0.5) # Create copy of data to remove NaNs for curve fitting fit_df = df.dropna() # Place to store function parameters for each column col_params = {} # Curve fit each column for col in fit_df.columns: # Get x & y x = fit_df.index.astype(float).values y = fit_df[col].values # Curve fit column and get curve parameters params = curve_fit(func, x, y, guess) # Store optimized parameters col_params[col] = params[0] # Extrapolate each column for col in df.columns: # Get the index values for NaNs in the column x = df[pd.isnull(df[col])].index.astype(float).values # Extrapolate those points with the fitted function df[col][x] = func(x, *col_params[col])
Các vấn đề liên quan
- 1. Nội suy trên DataFrame trong gấu trúc
- 2. Chuyển đổi gấu trúc đa-index để gấu trúc timestamp
- 3. hệ số đa cột trong gấu trúc
- 4. Kích thước tối đa của khung dữ liệu gấu trúc
- 5. Excel như công thức với gấu trúc
- 6. gấu trúc chỉ suy khi các giá trị tồn tại trên cả hai mặt
- 7. DataFrame của DataFrames với gấu trúc
- 8. Vectorised Haversine công thức với một dataframe gấu trúc
- 9. Chuyển đổi nhóm gấu trúc của đối tượng để lập chỉ mục đa Dataframe
- 10. Chia toàn bộ khung dữ liệu đa giác của gấu trúc theo biến dataframe
- 11. ngoại suy từ triangulation
- 12. Phép ngoại suy 3D trong python (về cơ bản, scipy.griddata được mở rộng để ngoại suy)
- 13. Sửa đổi nhóm gấu trúc
- 14. Phép ngoại suy - awk dựa
- 15. Vẽ hình gấu trúc timedelta
- 16. liệu munging trong gấu trúc
- 17. XML để gấu trúc dataframe
- 18. Hiểu gấu trúc dataframe indexing
- 19. JS dataTables từ gấu trúc
- 20. gấu trúc dataframe groupby tháng
- 21. Cập nhật gấu trúc DataFrame được lưu trữ trong Pytable với gấu trúc khác DataFrame
- 22. Nhập tệp CSV trong gấu trúc thành một dataframe gấu trúc
- 23. Bắt ngoại lệ của AsyncTask. Cần suy nghĩ
- 24. C++ suy ra kiểu của một ngoại lệ lồng nhau
- 25. gấu trúc - cách sắp xếp kết quả của DataFrame.groupby.mean()?
- 26. Sắp xếp chỉ mục datetime của gấu trúc
- 27. đọc có điều kiện hàng của csv trong gấu trúc
- 28. In chuỗi hoàn chỉnh của khung dữ liệu gấu trúc
- 29. tắt khung dữ liệu gấu trúc của chỉ mục
- 30. xóa tên, dtype khỏi đầu ra của gấu trúc
Bạn có thể phải sử dụng 'scipy.interpolate.UnivariateSpline' trong đó có một 'tùy chọn ext'. – askewchan
Liên quan: [Giá trị ngoại suy trong Pandas DataFrame] (https://stackoverflow.com/questions/22491628/extrapolate-values-in-pandas-dataframe), nhưng trường hợp đơn giản hơn có thể được giải quyết bằng phương pháp khác. – askewchan
Hiện tại có [câu trả lời] (http://stackoverflow.com/a/35959909/2087463) cho câu hỏi đó với các chi tiết cụ thể về ngoại suy đa thức. – tmthydvnprt