python - 汇总 Pandas DataFrame 中因子水平的差异?
问题描述
给定df1:
A B C
0 a 7 x
1 b 3 x
2 a 5 y
3 b 4 y
4 a 5 z
5 b 3 z
如何获取df2
中的每个值的C
位置df1
,新的在where和 where的值col D
之间存在差异:df1
col B
col A==a
col A==b
C D
0 x 4
1 y 1
2 z 2
解决方案
我会使用数据透视表:
df = df1.pivot_table(columns = ['A'],values = 'B', index = 'C')
df2 = pd.DataFrame({'D': df['a'] - df['b']})
@YOBEN_S 给出的答案中的风险是,如果在给定值b
之前出现,它将失败a
C
推荐阅读
- java - 使用 ontouchListener 无法选择 TextView
- openlayers - openlayers 5 的聚类标记
- php - PHP 发送应用程序/zip MIME 但 Chrome 认为它是文档
- asp.net-core - ASP.NET Core MVC 中的 InputStream
- asp.net-core - 使用 MSBuild 任务将整个文件夹复制到 wwwroot
- c++ - 继承的类函数比基类需要更多的输入
- python-3.x - 在 python 中将 AWS Cognito 用户 ID 编码为有效的 ObjectId 并将其解码回来
- r - lavaan 的 lavTestWald 函数中的数学函数
- embedded - 如何使用 ATmega16 微控制器从 HC05 蓝牙模块接收字符串
- sql - 关于如何在大查询中选择 event_params.key 的值的问题