在Python中,可以使用pandas库来按组填充字符列中的缺失值。下面是一个示例代码:
import pandas as pd
# 创建一个示例数据集
data = {'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
'Value': ['nacof', 'nacof', 'nocb', pd.NA, 'nacof', pd.NA]}
df = pd.DataFrame(data)
# 按组填充缺失值
df['Value'] = df.groupby('Group')['Value'].fillna(method='ffill')
print(df)
输出结果为:
Group Value
0 A nacof
1 A nacof
2 B nocb
3 B nocb
4 C nacof
5 C nacof
在上面的代码中,首先创建了一个示例数据集df
,其中包含了一个分组列Group
和一个含有缺失值的字符列Value
。然后,使用groupby
方法将数据按组分组,并使用fillna
方法填充缺失值。method='ffill'
表示使用前向填充的方式,即将前一个非缺失值填充到缺失值位置。
需要注意的是,pandas的版本要求在1.0.0及以上,以支持pd.NA
的缺失值表示方式。如果使用的是较低版本的pandas,可以考虑使用其他方式表示缺失值,例如使用空字符串''
或np.nan
。
上一篇:按组填充缺失值,但不进行传递
下一篇:按组添加包含前一个值的列