Python 使用递增的值填充NA
我有一个数据帧,它有一列连续的但不是相邻的数字和缺失的值 我想使用Python 使用递增的值填充NA,python,pandas,fillna,Python,Pandas,Fillna,我有一个数据帧,它有一列连续的但不是相邻的数字和缺失的值 我想使用fillna函数用上一个非缺失行的递增值来填充缺失的值 这是一个简化的表格: index my_counter 0 1 1 2 2 NaN 3 3 4 NaN 5 NaN 6 8 我想填写我的计数器: index my_counter 0 1 1 2 2 2.1 3 3 4 3.1 5 3.2 6
fillna
函数用上一个非缺失行的递增值来填充缺失的值
这是一个简化的表格:
index my_counter
0 1
1 2
2 NaN
3 3
4 NaN
5 NaN
6 8
我想填写我的计数器
:
index my_counter
0 1
1 2
2 2.1
3 3
4 3.1
5 3.2
6 8
如何完成此任务?IIUC
ffill
withgroupby
cumcount
df.my_counter.ffill()+df.groupby(df.my_counter.notnull().cumsum()).cumcount()/10
Out[92]:
0 1.0
1 2.0
2 2.1
3 3.0
4 3.1
5 3.2
6 8.0
dtype: float64
你好@EricM,请您也出示您的代码好吗?到目前为止,您尝试了什么?我的尝试(成功)涉及循环和比较,这不是我所寻求的以熊猫为中心的解决方案。温家宝下面的解决方案非常有效。只需要补充一点,您需要将my_列设置为该行代码,因为目的是用递增的值“替换”NaN。有没有办法用UUID系列填充NaN?df=df.apply(lambda x:x.fillna(UUID.uuid4().hex))