Python Pandas:透视表与汇总数据计算
Python Pandas:透视表与汇总数据计算
在数据分析中,经常需要对数据进行汇总和重塑,以便更好地理解数据模式。Python Pandas 库提供了强大的工具,可以轻松地完成这些任务。
本文将介绍如何使用 Pandas 创建透视表,并计算数据总和。我们将使用一个具体的代码示例,演示如何从嵌套字典中构建数据框,然后使用 pivot_table() 函数生成透视表,最后计算每行的总和。
代码示例
import pandas as pd
# 示例数据:嵌套字典
new_dict = {
'Scene 1': {'Task A': {'NoFinish': 2, 'Finish': 3}, 'Task B': {'NoFinish': 1, 'Finish': 4}},
'Scene 2': {'Task A': {'NoFinish': 0, 'Finish': 5}, 'Task B': {'NoFinish': 3, 'Finish': 2}},
}
# 创建空的 DataFrame
df = pd.DataFrame()
# 循环遍历字典并构建 DataFrame
for scene, values in new_dict.items():
for task, task_values in values.items():
df = pd.concat(
[df, pd.DataFrame({'Scene': [scene], 'Task': [task], "NoFinish": [task_values["NoFinish"]]})],
ignore_index=True)
# 使用透视表将相同任务的状态放在同一列中
df_pivot = df.pivot_table(index=['Scene'], columns='Task', values='NoFinish', fill_value=0).reset_index()
# 计算每行总和
df_pivot['total'] = df_pivot.sum(axis=1)
# 导出为 Excel 表格
df_pivot.to_excel(r'C:\dev\SDYH_Pipeline\temp\{}.xlsx'.format(file_name), index=False)
代码说明
- 导入 Pandas 库:
import pandas as pd - 创建示例数据: 使用嵌套字典存储场景、任务和任务状态信息。
- 创建空的 DataFrame:
df = pd.DataFrame() - 循环遍历字典并构建 DataFrame: 循环遍历字典,并将数据添加到 DataFrame 中。
- 创建透视表: 使用
pivot_table()函数将数据转换为透视表,其中场景为索引,任务为列,未完成任务数为值。 - 计算总和: 使用
sum()函数计算每行的总和,并将结果存储在名为 “total” 的新列中。 - 导出为 Excel: 将 DataFrame 导出为 Excel 文件。
总结
本文展示了如何使用 Python Pandas 库创建透视表和计算数据总和。透视表是数据分析中强大的工具,可以帮助您更好地理解数据的结构和模式。通过结合 pivot_table() 函数和 sum() 函数,您可以轻松地汇总和分析数据。
原文地址: http://www.cveoy.top/t/topic/f4K 著作权归作者所有。请勿转载和采集!