您可以使用pandas库的groupby函数和fillna函数来按组条件替换列中的前导和后续NA值。下面是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'B'],
'Value': [1, None, None, 2, 3]}
df = pd.DataFrame(data)
# 按组条件替换前导和后续NA值
df['Value'] = df.groupby('Group')['Value'].fillna(method='ffill').fillna(method='bfill')
# 输出结果
print(df)
输出结果如下:
Group Value
0 A 1.0
1 A 1.0
2 B 2.0
3 B 2.0
4 B 3.0
在这个示例中,我们使用groupby函数将数据按照"Group"列进行分组,然后使用fillna函数对每个组的"Value"列进行填充。首先使用fillna(method='ffill')
方法填充前导的NA值,然后使用fillna(method='bfill')
方法填充后续的NA值。最终得到的结果是每个组的"Value"列中的前导和后续NA值都被替换为相邻的非空值。
下一篇:按组替换基于字符串存在的值