我有一个包含 C 列的数据框,我想用相同的数字填充连续的空白,因为稍后我需要对该行进行分组。
例如
A B C
1 2 Nan
1 2 Nan
1 2 3
1 2 Nan
1 2 Nan
我想要的输出是这样的
A B C
1 2 1
1 2 1
1 2 3
1 2 2
1 2 2
我尝试使用 shift() 进行比较,但没有达到所需的输出。
最佳答案
您可以使用fillna
由 cumsum
创建的新系列
通过 bool 掩码
:
df['C'] = df['C'].fillna(df['C'].notnull().cumsum() + 1)
print (df)
A B C
0 1 2 1.0
1 1 2 1.0
2 1 2 3.0
3 1 2 2.0
4 1 2 2.0
详细信息:
print (df['C'].notnull().cumsum())
0 0
1 0
2 1
3 1
4 1
Name: C, dtype: int32
关于python - 在数据帧的列中填充连续的 NAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51301318/