python - 计算跨特定列的行中的特定整数值
问题描述
我有带有 12 列的 pandas 数据框,每列的值随机为 0 到 12。我想创建包含这些特定值的计数的新列。例如 newvar1 将在每一行中包含“1”的计数。另一个新的结果变量将包含某些特定列中某些特定值的计数
我的数据框是这样的
v1 v2 v3 v4
0 1 2 1
2 3 1 1
我想要的输出就像
v1 v2 v3 v4 newvar1_count_of_1 newvar1_count_of_1_ in_first_2_col
0 1 2 1 2 1
2 3 1 1 2 0
解决方案
你只应该这样做:
df1['newvar1_count']=df1[df1.eq(1)].sum(axis=1)
df1['newvar1_count_of_1_ in_first_2_col']=df1[df1.eq(1)].loc[:,['v1','v2']].sum(axis=1)
在您的代码中应用:
df1['newvar1_count'] = df1.eq(1).sum(axis=1)
df1['newvar1_count_of_1_ in_first_2_col']=df1[df1.eq(1)].loc[:,['v1','v2']].sum(axis=1)
df1
输出:
v1 v2 v3 v4 newvar1_count newvar1_count_of_1_ in_first_2_col
0 0 1 2 1 2.0 1.0
1 2 3 1 1 2.0 0.0
推荐阅读
- jwt - 如何从 base64 结束字符串创建 Java Key 对象,以便使用 JJWT 进行 PS256 解析
- spring-boot - Spring将保存到数据库与另一个实例同步
- java - 如何将成员添加到数组列表的后面或前面
- java - 将日期格式转换为 excel 友好格式,然后对其进行解析以转换日期
- sql - 如何将行名更新为 SQL 中两个表之间的列名
- html - 每次单击显示列按钮后,表格列的宽度都会增加
- javascript - 在单击按钮上打开当前手风琴,关闭其他使用 jqwery 动态打开的手风琴
- angular - 扫描后如何返回带有插入项的更新数组?
- java - 两个不同的查询返回相同的对象 Spring Boot JPA
- python - 在两个日期时间之间选择 xarray 数据集数据超出范围