Python 在列中填充值
如何在NAs中填充上一个值和下一个值(以逗号分隔) 例如: 我有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并组合它们?为什么您希望一行
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分别放在不同的行中,并将列dtypeint
@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