如何填充熊猫系列中缺少的元素?

时间:2019-07-23 19:22:30

标签: python pandas

(这里是熊猫初学者)

使用以下代码:

a = pd.Series(range(0, 10))
b = a[a % 2 == 0]

print b

我得到:

0    0
2    2
4    4
6    6
8    8
dtype: int64

如何用值填充缺失的索引?例如10,所以我会得到:

0    0
1    10
2    2
3    10
4    4
5    10
6    6
7    10
8    8
9    10

3 个答案:

答案 0 :(得分:4)

reindex

考虑到您已经在a中定义了索引

b.reindex(a.index, fill_value=10)

0     0
1    10
2     2
3    10
4     4
5    10
6     6
7    10
8     8
9    10
dtype: int64

b.reindex(range(10), fill_value=10)

答案 1 :(得分:0)

请使用以下代码:

b=a.apply(lambda x: 10 if x%2 != 0 else x)

答案 2 :(得分:0)

您使用b = a[a % 2 == 0]所做的事情是获得一个包含a % 20的所有(且仅包含)值的Series。因此,缺少的元素在b中根本不存在。

如果我的理解正确,那么您要执行的操作就是将满足条件的所有值替换为其他值。一种方法是:

b = a.apply(lambda x: x if x % 2 == 0 else 10)