You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas方法链中为去缺失值并重置索引后的DataFrame添加PKID列

合并Pandas方法链创建PKID列

原始DataFrame

pid  name    kids_count
10   tom     2
21   bill    0
22   peter   NaT
81   jen     4
20   jerry   1

当前实现代码

person_data = (person_data
                  .dropna()
                  .reset_index(drop = True)
                     )
person_data = (person_data
                  .assign(PKID = person_data.index + 1
                              ))

需求

将上述两行方法链合并为一行,在assign中直接使用经过dropna()和reset_index()处理后的DataFrame生成PKID列。

解决方案

你可以在assign中使用lambda表达式引用当前方法链中已处理好的DataFrame对象,直接基于处理后的索引生成PKID:

person_data = (person_data
                  .dropna()
                  .reset_index(drop=True)
                  .assign(PKID=lambda df: df.index + 1)
              )

说明

lambda里的df代表经过前面dropna()和reset_index()处理后的DataFrame,调用它的index再加1就能生成从1开始的PKID列,完美实现一行方法链的需求。

内容的提问来源于stack exchange,提问作者Eisen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:07:03