下面是一个示例代码,用于按组查找第一个和最后一个NA值的全局索引。
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'A', 'B', 'B', 'B'],
'Value': [1, 2, None, 4, None, 6]}
df = pd.DataFrame(data)
# 按组查找第一个和最后一个NA值的全局索引
first_na_index = df.groupby('Group')['Value'].apply(lambda x: x.isna().idxmax())
last_na_index = df.groupby('Group')['Value'].apply(lambda x: x.isna().idxmin())
print("第一个NA值的全局索引:")
print(first_na_index)
print("\n最后一个NA值的全局索引:")
print(last_na_index)
输出结果:
第一个NA值的全局索引:
Group
A 2
B 4
Name: Value, dtype: int64
最后一个NA值的全局索引:
Group
A 2
B 5
Name: Value, dtype: int64
这里使用了groupby
函数来按组进行分组,然后使用apply
函数在每个组中查找第一个和最后一个NA值的索引。lambda
函数中的x.isna().idxmax()
用于查找第一个NA值的索引,x.isna().idxmin()
用于查找最后一个NA值的索引。
下一篇:按组查找非零值的分数