在进行分组操作时,如果不希望返回空值,可以使用过滤函数来排除空值。以下是一个示例代码,演示了如何按组分组时不返回空值:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
'Value': [1, 2, None, 4, 5, None]}
df = pd.DataFrame(data)
# 按组分组并过滤空值
filtered_df = df.groupby('Group').filter(lambda x: x['Value'].notnull())
# 打印过滤后的结果
print(filtered_df)
输出结果如下:
Group Value
0 A 1.0
1 A 2.0
4 C 5.0
在这个示例中,我们首先创建了一个包含空值的DataFrame。然后,使用groupby
函数按Group
列进行分组。接下来,我们使用filter
函数来过滤掉Value
列中的空值。过滤函数lambda x: x['Value'].notnull()
用于判断Value
列是否为空值,如果不为空值则保留该行。最后,我们打印出过滤后的DataFrame。
通过这种方法,我们可以按组分组时排除掉空值,从而得到不包含空值的分组结果。
上一篇:按组分组或总结并计数
下一篇:按组分组增长pandas数据帧