首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Paython (Pandas):为两列计算每个小区的频率

Paython (Pandas):为两列计算每个小区的频率
EN

Stack Overflow用户
提问于 2022-04-03 07:11:57
回答 1查看 34关注 0票数 1

我在python中有这样一个DataFrame

代码语言:javascript
运行
AI代码解释
复制
 name    id     Background Complexion      Ear Ear Accessories
Li1     3800          White      Clean  Ape Ear            None
Lio2    5700  Purple Galaxy      Clean  Ape Ear  Silver Earring
Lio4    8400          Green      Clean  Orc Ear   Spiky Earring
Noam    3000    Noir Galaxy      Clean  Ape Ear  Silver Earring
AVERSE  6100    Grey Galaxy      Clean  Ape Ear  Gender Earring   

我想计数每个单元格,除了两个第一个colmn 'name‘和'id’,最后创建一个这样的表

代码语言:javascript
运行
AI代码解释
复制
name    id     Background Complexion     Ear    Ear Accessories
Li1     3800          1      5           4            1
Lio2    5700          1      5           4            2
Lio4    8400          1      5           1            1
Noam    3000          1      5           4            2
AVERSE  6100          1      5           4            1     

并计算这个数字的公式(例如+3),然后我们有

代码语言:javascript
运行
AI代码解释
复制
name    id     Background Complexion     Ear    Ear Accessories
Li1     3800          4      8           7            4
Lio2    5700          4      8           7            5
Lio4    8400          4      8           4            4
Noam    3000          4      8           7            5
AVERSE  6100          4      8           7            4

和每一行的和数

代码语言:javascript
运行
AI代码解释
复制
name    id     Background Complexion     Ear    Ear Accessories  sum
Li1     3800          4      8           7            4           23
Lio2    5700          4      8           7            5           24 
Lio4    8400          4      8           4            4           20
Noam    3000          4      8           7            5           24
AVERSE  6100          4      8           7            4           23

在巨蟒中,熊猫怎么能做到这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-03 07:43:13

IIUC,您需要循环以执行每列的计数。您可以使用groupy.transform('count')。其余的是简单的向量操作(add/sum):

代码语言:javascript
运行
AI代码解释
复制
cols = ['name', 'id']
df2 = (df[cols]
       .join(pd.DataFrame({c: df.groupby(c)[c].transform('count')
                           for c in df.drop(columns=cols).columns})
               .add(3)
               .assign(sum=lambda d: d.sum(1))
            )
      )

产出:

代码语言:javascript
运行
AI代码解释
复制
     name    id  Background  Complexion  Ear  Ear Accessories  sum
0     Li1  3800           4           8    7                4   23
1    Lio2  5700           4           8    7                5   24
2    Lio4  8400           4           8    4                4   20
3    Noam  3000           4           8    7                5   24
4  AVERSE  6100           4           8    7                4   23
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71727155

复制
相关文章
Python-科学计算-pandas-03-两列相乘
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2
zishendianxia
2019/11/18
7.2K0
Python-科学计算-pandas-02-两列相减
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2
zishendianxia
2019/10/30
21.6K0
Python-科学计算-pandas-02-两列相减
使用Pandas返回每个个体/记录中属性为1的列标签集合
前几天在J哥的Python群【Z】问了一个Pandas数据处理的问题,一起来看看吧。
Python进阶者
2023/08/31
2320
使用Pandas返回每个个体/记录中属性为1的列标签集合
pandas’_pandas 删除列
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/02
2.7K0
pandas’_pandas 删除列
Python pandas按列拆分Excel为多个文件
还是用循环数据的方法来进行逐行判断并进行组合,再拆分。总是感觉与VBA的差别不大,Python的强大功能没能体现出来。今天终于学习到了。
哆哆Excel
2022/10/25
3.3K0
Python pandas按列拆分Excel为多个文件
Excel与pandas:使用applymap()创建复杂的计算列
我们之前讨论了如何在pandas中创建计算列,并讲解了一些简单的示例。通过将表达式赋值给一个新列(例如df['new column']=expression),可以在大多数情况下轻松创建计算列。然而,有时我们需要创建相当复杂的计算列,这就是本文要讲解的内容。
fanjy
2022/11/16
4K0
Excel与pandas:使用applymap()创建复杂的计算列
pandas新版本增强功能,数据表多列频率统计
pandas 在1.0版本发布后,更新频率非常高,今天我们看看关于频率统计的一个新方法。
咋咋
2021/09/01
1.6K0
pandas新版本增强功能,数据表多列频率统计
Pandas中求某一列中每个列表的平均值
前几天在Python最强王者交流群【冫马讠成】问了一道Pandas处理的问题,如下图所示。
前端皮皮
2022/08/17
5K0
Pandas中求某一列中每个列表的平均值
按照A列进行分组并计算出B列每个分组的平均值,然后对B列内的每个元素减去分组平均值
前几天在Python星耀交流群有个叫【在下不才】的粉丝问了一个Pandas的问题,按照A列进行分组并计算出B列每个分组的平均值,然后对B列内的每个元素减去分组平均值,这里拿出来给大家分享下,一起学习。
前端皮皮
2022/08/17
3.1K0
按照A列进行分组并计算出B列每个分组的平均值,然后对B列内的每个元素减去分组平均值
Pandas 查找,丢弃列值唯一的列
数据清洗很重要,本文演示如何使用 Python Pandas 来查找和丢弃 DataFrame 中列值唯一的列,简言之,就是某列的数值除空值外,全都是一样的,比如:全0,全1,或者全部都是一样的字符串如:已支付,已支付,已支付…
萝 卜
2022/05/12
5.9K0
Pandas 查找,丢弃列值唯一的列
Python-科学计算-pandas-23-按列去重
系统:Windows 10 编辑器:JetBrains PyCharm Community Edition 2018.2.2 x64 pandas:1.1.5
zishendianxia
2022/02/23
1.3K0
Python-科学计算-pandas-23-按列去重
Python-科学计算-pandas-22-按某列排序
系统:Windows 10 编辑器:JetBrains PyCharm Community Edition 2018.2.2 x64 pandas:1.1.5
zishendianxia
2021/09/29
1.5K0
pandas基础:重命名pandas数据框架列
重命名pandas数据框架列有很多原因。例如,可能希望列名更具描述性,或者可能希望缩短名称。本文将介绍如何更改数据框架中的名称。
fanjy
2022/11/16
1.9K0
pandas基础:重命名pandas数据框架列
Pandas | 如何新增数据列?
在数据分析时,原始数据往往不能满足我们的需求,经常需要按照一定条件创建新的数据列或者修改原有数据列,然后进行后续分析。
生信real
2022/12/20
2.1K0
Python-科学计算-pandas-13-列名/删除列/替换nan
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2
zishendianxia
2020/09/15
2.1K0
Pandas基础:如何计算两行数值之差
有时候,我们想要计算数据框架中行之间的差,可以使用dataframe.diff()方法,而不遍历行。
fanjy
2022/06/04
4.8K0
Pandas基础:如何计算两行数值之差
Pandas基础:在Pandas数据框架中移动列
有时候,我们需要在pandas数据框架内移动一列,shift()方法提供了一种方便的方法来实现。
fanjy
2022/06/04
3.3K0
Pandas基础:在Pandas数据框架中移动列
Pandas基础:列方向分组变形
但是我发现大部分人在做这个题的时候,代码写的异常复杂。所以我建议你也不要直接看我的代码,而是先思考一下,你会怎么解决这个问题。
朱小五
2021/02/22
1.4K0
Pandas基础:列方向分组变形
Python-科学计算-pandas-11-df获取特定行或者列
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2
zishendianxia
2020/06/16
2.1K0
点击加载更多

相似问题

计算DataFrameGroupBy对象列(pandas)的频率

30

用Pandas总结跨两列的频率

14

Pandas -计算期望频率表

149

计算每个单词的频率

24

如何计算R中每个列值的频率组合?

117
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档