按特定列进行分组,然后根据条件给新值赋值。
创始人
2024-11-07 20:30:32
0

可以使用 pandas 库中的 groupby 函数和 apply 函数来解决此问题。具体步骤如下:

  1. 使用 groupby 函数按特定列进行分组。比如,以列 A 为基础进行分组可以使用以下语句:

grouped = df.groupby('A')

  1. 定义一个函数,根据条件给新值赋值。比如,假设要将分组后的数据中,B 列值大于 0 的行,将 C 列值赋为 1,B 列值小于等于 0 的行,将 D 列值赋为 2,可以定义以下函数:

def my_func(group): group.loc[group['B'] > 0, 'C'] = 1 group.loc[group['B'] <= 0, 'D'] = 2 return group

  1. 使用 apply 函数将定义的函数应用到每个分组上,并将结果存储到新的 dataframe 中。代码如下:

new_df = grouped.apply(my_func)

完整的例子如下:

import pandas as pd

创建示例 dataframe

df = pd.DataFrame({'A': ['a', 'a', 'b', 'b'], 'B': [1, -1, 2, 0], 'C': [0, 0, 0, 0], 'D': [0, 0, 0, 0]})

按列 A 进行分组

grouped = df.groupby('A')

定义函数

def my_func(group): group.loc[group['B'] > 0, 'C'] = 1 group.loc[group['B'] <= 0, 'D'] = 2 return group

应用函数并存储结果

new_df = grouped.apply(my_func)

print(new_df)

输出结果如下:

A B C D 0 a 1 1 0 1 a -1 0 2 2 b

相关内容

热门资讯

日前!中至鹰潭亲友圈辅助(辅助... 日前!中至鹰潭亲友圈辅助(辅助)切实是有辅助修改器(有挂透视)-哔哩哔哩1、日前!中至鹰潭亲友圈辅助...
相较于以往!来几局辅助器吾爱破... 相较于以往!来几局辅助器吾爱破解(辅助)切实是有辅助工具(有挂方略)-哔哩哔哩来几局辅助器吾爱破解脚...
据统计!广东雀神挂件脚本开挂(... 据统计!广东雀神挂件脚本开挂(辅助)一贯是有辅助挂(有挂方法)-哔哩哔哩小薇(辅助器软件下载)致您一...
有了最新消息!樱花之盛免费挂(... 有了最新消息!樱花之盛免费挂(辅助)本来真的是有辅助软件(有挂猫腻)-哔哩哔哩1、金币登录送、破产送...
网友热议!陕麻圈内购破解辅助(... 网友热议!陕麻圈内购破解辅助(辅助)确实有挂辅助神器(有挂秘诀)-哔哩哔哩1、打开软件启动之后找到中...
现场直击!广西友乐解码器下载安... 现场直击!广西友乐解码器下载安装(辅助)一直真的是有辅助脚本(确实有挂)-哔哩哔哩1、完成广西友乐解...
据文件显示!兴动互娱技巧(辅助... 据文件显示!兴动互娱技巧(辅助)一贯有挂辅助插件(有挂教学)-哔哩哔哩1、金币登录送、破产送、升级送...
近年来!越乡游义乌微信小程序辅... 近年来!越乡游义乌微信小程序辅助(辅助)其实是真的辅助软件(有挂辅助)-哔哩哔哩越乡游义乌微信小程序...
刚刚!510k脚本(辅助)切实... 刚刚!510k脚本(辅助)切实是有辅助神器(有挂详细)-哔哩哔哩1、完成510k脚本有辅助插件,帮助...
经调查!盛世辅助器(辅助)切实... 经调查!盛世辅助器(辅助)切实是真的辅助平台(有挂工具)-哔哩哔哩1、盛世辅助器辅助器安装包、盛世辅...