使用pandas对多个表格进行关联索引,并进行行列计算的例子
时间: 2024-02-17 09:20:58 浏览: 76
利用pandas合并多个excel的方法示例
5星 · 资源好评率100%
要对多个表格进行关联索引并进行行列计算,您可以使用pandas库中的merge函数来合并表格,并使用groupby和agg函数进行计算。下面是一个示例代码:
```python
import pandas as pd
# 定义要关联的表格列表
excel_files = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']
# 创建一个空的DataFrame,用于存储读入的数据
df_all = pd.DataFrame()
# 循环遍历每个Excel文件并读取数据
for file in excel_files:
df = pd.read_excel(file)
# 将当前Excel文件的数据添加到整体数据框中
df_all = pd.concat([df_all, df])
# 定义关联索引的列名
index_cols = ['Index1', 'Index2']
# 使用merge函数进行关联索引
merged_df = pd.merge(df_all, on=index_cols)
# 进行行列计算,例如计算每个索引组合下的平均值
result = merged_df.groupby(index_cols).agg({'Column1': 'mean', 'Column2': 'sum'})
# 打印计算结果
print(result)
```
在上述代码中,我们首先创建一个空的DataFrame `df_all`,然后循环遍历每个Excel文件,并使用`pd.read_excel()`函数读取数据,并将每个文件的数据添加到`df_all`中。
接下来,我们定义了要用于关联索引的列名`index_cols`,这些列将用于在表格合并时匹配行。
然后,我们使用`pd.merge()`函数将所有表格按照指定的`index_cols`进行关联索引,并将结果存储在`merged_df`中。
最后,我们使用`groupby()`函数按照`index_cols`进行分组,并使用`agg()`函数计算每个索引组合下的行列计算结果,例如平均值、总和等。
您可以根据实际需求修改关联索引的列名和行列计算的逻辑。
阅读全文