要按行条件计数并保留所有列而无需遍历数据帧,可以使用groupby
和transform
函数来实现。这种方法可以在一行代码中完成。
下面是一个示例代码:
import pandas as pd
# 创建示例数据帧
data = {
'Name': ['John', 'Mike', 'Sarah', 'John', 'Mike'],
'Age': [25, 30, 28, 25, 30],
'City': ['London', 'New York', 'Paris', 'London', 'New York']
}
df = pd.DataFrame(data)
# 按行条件计数并保留所有列
df['Count'] = df.groupby('Name')['Name'].transform('count')
# 打印结果
print(df)
输出结果:
Name Age City Count
0 John 25 London 2
1 Mike 30 New York 2
2 Sarah 28 Paris 1
3 John 25 London 2
4 Mike 30 New York 2
在上面的示例中,我们首先创建了一个包含姓名、年龄和城市的示例数据帧。然后,我们使用groupby
函数按姓名分组,并使用transform
函数在每行中计算该姓名出现的次数。最后,我们将计数结果存储在新的"Count"列中。
这样,我们就可以实现按行条件计数,并保留所有列而无需遍历数据帧。
上一篇:按行条件将两个或多个列合并为新列
下一篇:按行条件筛选数据框