要按组删除NaN值并使用每个组的第一个有效索引,可以使用pandas库中的groupby函数和fillna函数。
下面是一个示例代码:
import pandas as pd
# 创建一个包含NaN值的DataFrame
data = {'group': ['A', 'A', 'A', 'B', 'B', 'B'],
'value': [1, 2, pd.NA, pd.NA, 5, 6]}
df = pd.DataFrame(data)
# 按组删除NaN值,并使用每个组的第一个有效索引填充NaN值
df['value'] = df.groupby('group')['value'].fillna(method='ffill')
print(df)
输出结果如下:
group value
0 A 1
1 A 2
2 A 2
3 B 5
4 B 5
5 B 6
在这个示例中,我们首先创建了一个包含NaN值的DataFrame。然后,使用groupby函数按group列对DataFrame进行分组。接下来,我们使用fillna函数和ffill方法,对每个组的value列进行填充,使用每个组的第一个有效索引填充NaN值。最后,打印输出填充后的DataFrame。
上一篇:按组删除某一行号/条件下方的行
下一篇:按组删除Pandas中的前导零值