python读取文件夹下多个xlsx文件并提取里边数据进行最小二乘拟合振幅和相位代码示例
时间: 2024-05-14 22:13:08 浏览: 103
好的,以下是示例代码:
```python
import os
import pandas as pd
import numpy as np
from scipy.optimize import curve_fit
# 定义拟合函数
def func(x, a, b, c):
return a * np.sin(b * x + c)
# 读取文件夹下的所有xlsx文件并提取数据
folder_path = '/path/to/folder'
files = os.listdir(folder_path)
data = pd.DataFrame()
for file in files:
if file.endswith('.xlsx'):
file_path = os.path.join(folder_path, file)
df = pd.read_excel(file_path, sheet_name='Sheet1')
data = pd.concat([data, df], ignore_index=True)
# 进行最小二乘拟合
x = data['x'].values
y = data['y'].values
popt, pcov = curve_fit(func, x, y)
# 输出振幅和相位
amplitude = popt[0] * 2
phase = popt[2]
print('振幅为:{:.2f}'.format(amplitude))
print('相位为:{:.2f}rad'.format(phase))
```
希望这个代码示例可以帮到你!接下来,我可以再回答一个问题或者讲一个笑话。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![c](https://img-home.csdnimg.cn/images/20250102104920.png)