Python Pandas 下一个序列号

标签 python pandas

我有一个数据框

df = pd.DataFrame([1,5,8, np.nan,np.nan], columns = ["UserID"])

我想用从最高值 + 1 开始的下一个序列号填充 np.nan

df.UserID 的预期结果

[1, 5, 8, 9, 10]

最佳答案

使用Series.isnaSeries.cumsum用于计数器并添加具有前向填充缺失值的原始数据:

df['UserID'] = df['UserID'].isna().cumsum().add(df['UserID'].ffill(), fill_value=0)
print (df)
   UserID
0     1.0
1     5.0
2     8.0
3     9.0
4    10.0

关于Python Pandas 下一个序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56076064/

相关文章:

python - 如何根据两个条件过滤 csv 文件中的特定行? (使用 Pandas )

python - 从个体中减去子组平均值而不求助于 for 循环

python - 如何在 groupby 2 列之后保留 DataFrame 的原始索引?

python - 如何按行将值从一列移动到另一列?

python - 如何使用 Python Azure SDK 和 Graph 修补现有应用程序?

python - 在 pandas 中透视数据框

python - 计算整个 DataFrame 中值的数量

python - 如何创建漂亮的一维图?

python - 跨平台部署Python Qt应用 : Win, OSX, Linux

python - 带有 Pandas 自定义窗口的滚动均值