(这里是熊猫初学者)
使用以下代码:
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
答案 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 % 2
是0
的所有(且仅包含)值的Series。因此,缺少的元素在b
中根本不存在。
如果我的理解正确,那么您要执行的操作就是将满足条件的所有值替换为其他值。一种方法是:
b = a.apply(lambda x: x if x % 2 == 0 else 10)