假设有一个名为df的数据框,其中有两个列变量"id"和"value"。我们希望按"id"列变量分组,并在每个组中附加一个新变量"new_var",该变量的值基于"value"列变量是否大于0。以下是代码示例:
import pandas as pd
df = pd.DataFrame({'id': ['a', 'a', 'a', 'b', 'b', 'c'],
'value': [-1, 2, 3, 0, 5, -4]})
def append_new_var(group):
group['new_var'] = 'positive' if group['value'].any() > 0 else 'negative'
return group
df = df.groupby('id').apply(append_new_var)
这里的关键是定义一个函数"append_new_var",该函数接受每个分组作为参数,并将一个名为"new_var"的新变量添加到每个分组中。这个新变量的值基于"value"列变量是否大于0。
然后我们使用"groupby"方法将数据框按"id"列变量分组,并在每个组中应用这个"append_new_var"函数。最后,我们得到一个新的数据框,它包含了所需的分组和新变量。
上一篇:按列编辑表格
下一篇:按列表编号循环遍历10个列表