python - 如何根据python中前一列数据中的行生成n个列,我对python、pandas数据框很陌生
问题描述
我有如下的csv文件数据
ModelNumber Variables
---------- ----------
208 TotalTerms
208 Children
208 Property
208 isMarried
207 HasLoan
207 Children
如何生成以下输出
ModelNumber Variable1 Variable2 Variable3 Variable4
---------- ---------- ---------- ---------- ----------
208 TotalTerms Children Property isMarried
207 HasLoan Children
解决方案
我认为解决您的问题的更好情况是使用 pivot_table 并将每个变量定义为列而不是变量 1、变量 2 等......并且只需对每个型号中的每个变量使用 1/0(真/假):
df_1 = pd.DataFrame({'ModelNumber':[208,208,208,208,207,207],
'Variables':['TotalTerms','Children','Property','isMarried','HasLoan','Children']})
df_output = pd.pivot_table(df_1,index='ModelNumber',columns='Variables',aggfunc=len)
print(df_output)
输出:
Variables Children HasLoan Property TotalTerms isMarried
ModelNumber
207 1 1 0 0 0
208 1 0 1 1 1
推荐阅读
- redirect - opencart 3 - 将主页重定向到类别
- singly-linked-list - 在尝试与另一个值交换时删除的单链表的第一个值(C++ 代码)
- arrays - 如何过滤列表
- >> 在 Flutter 中获取值?
- node.js - 执行 app.js 时,控制台出现错误
- wso2 - 在 wso2 api 管理器中将 wso2 身份服务器管理服务注册为 REST API
- python - 如何将 centralWidget 移动到左上角?
- git - 在 GitHub Actions 中压缩 Git-LFS 二进制文件并将它们作为资产添加到版本中?
- distribution - 如何在分布式环境中为标识符字符串生成一个唯一的整数?
- vba - VBA XMLHTTP 请求。启用以 HTML 格式获取数据以解析数据
- python - Python:我的函数是否需要 return 语句?