以下是一个示例代码,用于按照分组并选择非空值(如果存在):
# 导入pandas库
import pandas as pd
# 创建示例数据
data = {'分组列': ['A', 'A', 'B', 'B', 'C', 'C'],
'数值列': [1, None, 3, 4, None, 6]}
df = pd.DataFrame(data)
# 按照分组列进行分组,并选择非空值(如果存在)
df_non_null = df.groupby('分组列')['数值列'].apply(lambda x: x.dropna().head(1)).reset_index()
# 打印结果
print(df_non_null)
输出结果:
分组列 level_1 数值列
0 A 0 1.0
1 B 2 3.0
2 C 5 6.0
在这个示例中,我们首先导入pandas
库,然后创建一个包含分组列和数值列的示例数据df
。
接下来,我们使用groupby
函数按照分组列对数据进行分组,并使用apply
函数应用一个lambda
函数。这个lambda
函数会对每个分组的数值列进行处理,使用dropna
函数删除空值,并使用head(1)
函数选择第一个非空值(如果存在)。
最后,我们使用reset_index
函数重置索引,并将结果赋值给df_non_null
。
最后,我们打印了df_non_null
的结果,其中包含了按照分组列进行分组并选择非空值的结果。
上一篇:按照分组并收集整行在数据帧中
下一篇:按照分组并选择最大日期