python - 为匹配条件的列中的值计算中值
问题描述
我是熊猫新手。
我的数据集:
df
A B
10 1
15 2
65 3
54 2
51 2
96 1
我正在尝试添加新列C
并计算与 column 定义的同一组中的值的中位数B
。
预期结果:
df
A B C
10 11 53
15 2 34
65 3 65
54 2 34
51 2 34
96 1 53
我试过的:
df_final['C'] = df_final.groupby('B')['A'].transform('median')
我确实得到了答案,但是由于 DataFrame 很大,我不确定我的代码是否正确执行,有人可以告诉我是否使用正确的方法来实现这一点吗?
解决方案
您可以使用:
df_final['C'] = df_final.groupby('B')['A'].transform('median')
正如评论中提供的那样。
推荐阅读
- parallel-processing - MPI_Dims_create() 的返回值
- scala - Scala how to format scrambled data in proper order
- javascript - 使用 jsp 和 codemirror js lib 时出现 Uncaught SyntaxError: Invalid or unexpected token
- java - 如何将现有的 SQLite3 数据库导入 Room?
- postgresql - 为什么 postgres 会扫描所有表?
- python-3.x - Struct.error: unpack 需要 16 字节的缓冲区
- c# - 我是否正忙于提出多个请求?
- java - Hashmap 将专辑名称与专辑名称联系起来?
- json - 如何在 Golang 中获取 JSON 唯一字段的名称和深度嵌套的子字段的值?
- html - Scrapy在页面上找不到表格