可以使用pandas中的groupby功能来将数据框按组进行拆分,然后使用apply函数应用lambda函数来更改或填充单元格。
例如,我们想按照“组”列中的值将数据框拆分成不同的子集,然后'值”列中小于0的值更改为0:
import pandas as pd
# 创建示例数据框
df = pd.DataFrame({
'组': ['A', 'A', 'B', 'B', 'C', 'C'],
'值': [1, -2, 3, -4, 5, -6]
})
# 按组拆分数据框,然后使用apply应用lambda函数更改单元格
df['值'] = df.groupby('组')['值'].apply(lambda x: x.clip(lower=0))
print(df)
输出结果为:
组 值
0 A 1
1 A 0
2 B 3
3 B 0
4 C 5
5 C 0
可以看到,数据框成功地按照“组”列中的值进行了拆分,并且“值”列中小于0的值被成功更改为0。
上一篇:按组条件采样值