【发布时间】:2016-09-02 18:50:22
【问题描述】:
给定以下数据框:
df = pd.DataFrame({
('A', 'a'): [23, 'n/a',54,7,32,76],
('B', 'b'): [23, 'n/a',54,7,32,76],
('possible','possible'):[100,100,100,100,100,100]
})
df
A B possible
a b
0 23 23 100
1 n/a n/a 100
2 54 54 100
3 7 n/a 100
4 32 32 100
5 76 76 100
我想为每个“n/a”实例调整每行的“可能”,这样每个实例都会从“可能”中减去 4。 想要的结果如下:
A B possible
a b possible
0 23 23 100
1 n/a n/a 92
2 54 54 100
3 7 n/a 96
4 32 32 100
5 76 76 100
然后,完成后,我希望将“n/a”的每个实例转换为 0,以便列类型为整数(但浮点数可以)。
提前致谢!
后续问题:
如果我的多索引是这样的:
df = pd.DataFrame({
('A', 'a'): [23, 'n/a',54,7,32,76],
('A', 'b'): [23, 'n/a',54,7,32,76],
('B', 'b'): [23, 'n/a',54,7,32,76],
('possible','possible'):[100,100,100,100,100,100]
})
我有 5 个上层索引和 25 个下层索引。我想知道是否可以只引用
中的顶级no4 = (df.loc[:, (top level indices),(bottom level indices)] == 'n/a').sum(axis=1)
【问题讨论】:
-
我认为索引
1是错字——不是92而是96。 -
你好耶。实际上,它应该是 92,因为我想为给定行中出现的每个 'n/a' 减去 4。
标签: python-3.x pandas multi-index