以下是一个示例代码,可以按组分组,并在数据表中查找每个组中第一个非零元素的索引。
import pandas as pd
# 创建示例数据表
data = {'组': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
'数值': [0, 0, 1, 2, 3, 0, 4, 5]}
df = pd.DataFrame(data)
# 按组分组并查找每个组中第一个非零元素的索引
grouped = df.groupby('组')
first_nonzero_index = grouped['数值'].apply(lambda x: x.ne(0).idxmax())
# 输出结果
print(first_nonzero_index)
在这个示例中,我们首先创建了一个包含组和数值两列的数据表。然后,我们使用groupby
方法按组分组。接下来,我们使用apply
方法将一个匿名函数应用于每个组的数值列。该匿名函数使用ne
方法(ne
表示"not equal")检查每个元素是否不等于零,并使用idxmax
方法返回第一个满足条件的元素的索引。最后,我们将结果打印出来。
输出将会是一个包含每个组中第一个非零元素的索引的数据表。
上一篇:按组分组增长pandas数据帧
下一篇:按组分组,存储并重复。