Note
Go to the end to download the full example code.
Fit with Data in a pandas DataFrameΒΆ
Simple example demonstrating how to read in the data using pandas
and
supply the elements of the DataFrame
to lmfit.
import pandas as pd
from lmfit.models import LorentzianModel
read the data into a pandas DataFrame, and use the x
and y
columns:
and gives the fitting results:
print(result.fit_report())
[[Model]]
Model(lorentzian)
[[Fit Statistics]]
# fitting method = leastsq
# function evals = 21
# data points = 101
# variables = 3
chi-square = 13.0737250
reduced chi-square = 0.13340536
Akaike info crit = -200.496119
Bayesian info crit = -192.650757
R-squared = 0.98351484
[[Variables]]
amplitude: 39.1530621 +/- 0.62389897 (1.59%) (init = 50.7825)
center: 9.22379948 +/- 0.01835867 (0.20%) (init = 9.3)
sigma: 1.15503770 +/- 0.02603721 (2.25%) (init = 1.3)
fwhm: 2.31007541 +/- 0.05207442 (2.25%) == '2.0000000*sigma'
height: 10.7899571 +/- 0.17160652 (1.59%) == '0.3183099*amplitude/max(1e-15, sigma)'
[[Correlations]] (unreported correlations are < 0.100)
C(amplitude, sigma) = +0.7087
and plot below:
result.plot_fit()
Total running time of the script: (0 minutes 0.207 seconds)