Python 在列中填充值

Python 在列中填充值,python,pandas,data-science,data-analysis,data-transform,Python,Pandas,Data Science,Data Analysis,Data Transform,如何在NAs中填充上一个值和下一个值(以逗号分隔) 例如: 我有 1 2 4 6 NA 8 9 5 输出: 1 2 4 6 6,8 8 9 5. 熊猫是如何做到这一点的?使用and with,然后用以下内容填充NaN值: 使用和,然后用以下内容填充NaN值: 提示:创建一个系列,组合ffill和bfill,然后fillna将您的原始系列与您创建的系列一起。是否可以一次完成这两个操作,或者我应该先做ffill,然后bfill并组合它们?为什么您希望一行

如何在NAs中填充上一个值和下一个值(以逗号分隔)

例如:

我有

 1
 2
 4
 6 
NA 
 8 
 9
 5

输出:

 1 
 2 
 4
 6
 6,8
 8
 9
 5.
熊猫是如何做到这一点的?

使用and with,然后用以下内容填充
NaN
值:

使用和,然后用以下内容填充
NaN
值:


提示:创建一个系列,组合
ffill
bfill
,然后
fillna
将您的原始系列与您创建的系列一起。是否可以一次完成这两个操作,或者我应该先做ffill,然后bfill并组合它们?为什么您希望一行中有
6,8
,这会破坏列的数据类型,最好将6和8分别放在不同的行中,并将列dtype
int
@Kenan这是一个好问题。然而,我们看到的数字可能只是OPs mcve的一部分,在它们的实际数据集中,它们有字符串。提示:创建一个组合了
ffill
bfill
的序列,然后
用创建的序列填充原始序列。是可以一次性完成这两个序列,还是我应该先做ffill,然后b填充并组合它们??为什么您希望一行中有一个
6,8
,这会破坏列的数据类型,最好将6和8分别放在不同的行中,并将列的数据类型设置为
int
@Kenan这是一个好问题。然而,也许我们看到的数字只是OPs mcve的一部分,在它们的实际数据集中,它们有字符串。伟大的答案(-:伟大的答案(-:
s.fillna(s.ffill().astype(str).str.cat(s.bfill().astype(str),','))

0      1
1      2
2      4
3      6
4    6,8
5      8
6      9
7      5
Name: col, dtype: object