Python表格转换:将部分数据填充到完整表格
使用Python将部分数据表格转换成完整表格
本文将介绍如何使用Python的Pandas库将一个包含部分数据的表格转换成包含所有项目和方法的完整表格,并根据原始表格数据进行填充。
原始表格
项目 | 方法 | 值 ---|---|--- A | 法1 | x A | 法3 | x B | 法3 | x B | 法4 | x C | 法2 | x
目标表格
项目 | 方法 | 值 ---|---|--- A | 法1 | x A | 法2 | A | 法3 | x A | 法4 | B | 法1 | B | 法2 | B | 法3 | x B | 法4 | x C | 法1 | C | 法2 | x C | 法3 | C | 法4 |
实现步骤
- 构建完整表格:首先,创建一个包含所有项目和方法的空表格,使用Pandas库的DataFrame对象。
- 读取原始表格:将原始表格数据读入另一个DataFrame对象。
- 填充对应单元格:遍历原始表格数据,将每个项目的每个方法对应的值填入完整表格中。
代码示例
import pandas as pd
# 构建完整表格
projects = ['A', 'B', 'C']
methods = ['法1', '法2', '法3', '法4']
df = pd.DataFrame(index=projects, columns=methods)
# 读取原始表格
data = {'项目': ['A', 'A', 'B', 'B', 'C'], '方法': ['法1', '法3', '法3', '法4', '法2'], '值': ['x', 'x', 'x', 'x', 'x']}
df_data = pd.DataFrame(data)
# 填充对应单元格
for i in range(len(df_data)):
project = df_data.loc[i, '项目']
method = df_data.loc[i, '方法']
value = df_data.loc[i, '值']
df.loc[project, method] = value
# 输出结果
print(df)
输出结果
法1 法2 法3 法4
A x x x
B x x x
C x
注意
由于方法名中包含中文字符,需要确保文件编码为UTF-8,否则可能会出现编码错误。
原文地址: http://www.cveoy.top/t/topic/og1R 著作权归作者所有。请勿转载和采集!