python - Pandas 计算一列中的值,而另一列保持不变
问题描述
我正在尝试计算一列中的所有值,而另一列保持不变..这里有一个真正的大脑放屁。下面是一个例子,因为我知道这个措辞读起来有点奇怪。
数据:
a | item1
a | item2
a | item3
a | item4
b | item1
b | item3
c | item4
我想要达到的目标:
a | item1 | 4
a | item2 | 4
a | item3 | 4
a | item4 | 4
b | item1 | 2
b | item3 | 2
c | item4 | 1
我尝试了几种不同的方法来做到这一点,但最终还是得到了一些非常奇怪的计数。此外,我的最终目标是将这些数据全部合并到一个 Excel 表中。我目前有一张相当大的表格,里面有一堆列,但我不知道如何计算这个数。
话虽这么说,因为它已经在 excel 中并且最终目标是 excel,所以我也可以在那里找到解决方案。只是认为 Pandas 可能比编写某种 excel 函数更快、更容易。
解决方案
您可以groupby()
使用transform
:
df['col_3'] = df.groupby('col_1')['col_2'].transform('count')
输出:
col_1 col_2 col_3
0 a 1 4
1 a 2 4
2 a 3 4
3 a 4 4
4 b 1 2
5 b 3 2
6 c 4 1
示例数据:
df = pd.DataFrame({'col_1':['a','a','a','a','b','b','c'],
'col_2':[1,2,3,4,1,3,4]})
推荐阅读
- django - 如何为 Web 应用程序实现下载数据选项
- powershell - 如何解析数百个文件并通过 powershell 将它们移动到他们尊重的文件中
- javascript - javascript中的onclick未触发,而ID正确
- r - 如何在多行 ggplot 中使一行更大(或不同颜色)?
- apache-flink - Flink SQL 嵌套元素 Avro
- python - 如何将 Pandas 读取的 excel 数据框转换为 Python 中的列表?
- c++ - 我可以为 conanfile 中的每个包指定不同的文件夹吗?
- ios - LinkPresentation - 限制 LPLinkView 占据整个屏幕
- python - “ModuleNotFoundError: No module named 'azure'” 导入 azure.datalake.store 后,即使它已安装
- sql - 与 case 函数不同的多项选择计数的总和