import numpy as np import pandas as pd import xlrd import os import matplotlib.pyplot as plt def get_all_fill_paths(dir_path): file_paths = [] for root, _, files in os.walk(dir_path): for file in files: file_paths.append(os.path.join(root, file)) return file_paths dir_path = r'C:\Users\lxz15\Desktop\电流数据2' file_paths = get_all_fill_paths(dir_path) data = pd.DataFrame() # 定义一个空的 DataFrame all_a = [] for i, file_path in enumerate(file_paths): df = pd.read_excel(file_path) for j in range(0, 1): for k in range(0, 1): a = pd.DataFrame(df.iloc[2 + 3 * k:5 + 3 * k, 7 + j].values) # 将列表转换为 DataFrame data = pd.concat([data, a], axis=1) 将a中的数据转换成浮点数然后分别计算每一组的平均值
时间: 2024-01-26 16:04:09 浏览: 139
可以使用 `astype()` 方法将 `a` 中的数据转换为浮点数,然后使用 `mean()` 方法计算每一组的平均值。修改后的代码如下:
```python
import numpy as np
import pandas as pd
import xlrd
import os
import matplotlib.pyplot as plt
def get_all_fill_paths(dir_path):
file_paths = []
for root, _, files in os.walk(dir_path):
for file in files:
file_paths.append(os.path.join(root, file))
return file_paths
dir_path = r'C:\Users\lxz15\Desktop\电流数据2'
file_paths = get_all_fill_paths(dir_path)
data = pd.DataFrame() # 定义一个空的 DataFrame
all_a = []
for i, file_path in enumerate(file_paths):
df = pd.read_excel(file_path)
for j in range(0, 1):
for k in range(0, 1):
a = pd.DataFrame(df.iloc[2 + 3 * k:5 + 3 * k, 7 + j].values.astype(float)) # 将列表转换为 DataFrame,并将数据转换为浮点数
all_a.append(a.mean()) # 计算每一组的平均值并添加到 all_a 列表中
data = pd.concat([data, a], axis=1)
print(all_a) # 输出每一组的平均值
```
在代码中,`all_a` 列表用于存储每一组的平均值,`a.mean()` 方法用于计算每一组的平均值并添加到 `all_a` 列表中。最后输出 `all_a` 列表即可。
阅读全文