python - Python Pandas 中的转置
问题描述
我有下表。
Item Id Desc Values
M1 Color Red
M1 Weight 100GR
M1 Type Mouse
M1 Company Lenovo
M1 Wireless Yes
M1 Battery Yes
M2 Color Green
M2 Weight 150GR
M2 Type KB
M2 Company Lenovo
M2 Wireless No
M2 Battery No
M3 Color Yellow
M3 Weight 100GR
M3 Type Headphone
M3 Company MS
M3 Wireless Yes
M3 Battery No
预期输出:
Item Id Color Weight Type Company Wireless Battery
M1 Red 100GR Mouse Lenovo Yes Yes
M2 Green 150GR KB Lenovo No No
M3 Yellow 100GR Headphone MS Yes No
原始文件包含数百万条记录。附件只是一个例子。
请帮我解决问题。我尝试了 .T 并尝试了循环,但无法将其设置正确。当我处理原始文件时,PC 会挂起循环。
抱歉,我找不到附加 Excel 文件的选项。
解决方案
你可以试试像 pivot_tables 这样的东西。
将熊猫导入为 pd
df = pd.read_csv('data.csv')
df2 = pd.pivot_table(df, values='Values', index = ['ItemId'], columns=['Desc'], aggfunc=lambda x: ''.join(x))
打印(df2.head())
使用索引和列来获得不同的结果。
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html
推荐阅读
- firebase - Firebase 索引在幕后有什么作用?
- jdbc - 我们可以在 Windows 操作系统中运行 Confluent JDBC Kafka 连接器吗?
- java - Android,JaCoco 无法为“android.uid.system”创建覆盖
- java - 在没有库的情况下在 Java 中读取 PKCS#1 或 SPKI 公钥
- c# - Node.js 中的 C# Rijndael 解密代码得到错误错误解密
- c - 如何在我的代码中修复系统调用 Ntcreateprocess 原型的未定义符号?
- c++ - C++ 覆盖 void 函数返回类型导致构建失败
- c++ - 如何在 C++03 中用 sprintf 正确替换 sprintf_s?
- amazon-web-services - 使用 Route53 资源处理 Terraform 异常
- javascript - WebStorm:初始化器类型
不可分配给变量类型 .