【发布时间】:2022-01-02 10:42:34
【问题描述】:
我有一个pandas.DataFrame 的表单
df=
index ID A B
0 a 0 111
1 a 1 111
2 a 2 111
3 b 3 111
4 c 0 111
5 c 2 111
6 c 3 111
7 d 0 111
8 d 1 111
9 e 2 111
10 f 1 111
11 f 2 111
12 f 3 111
13 g 1 111
14 g 2 111
我想创建一个数据框,其中 A 列重复 0、1、2、3。但是数据中缺少一些东西。我试图通过附加行值来用 0 填充空白。这是我的预期结果:
index ID A B
0 a 0 111
1 a 1 111
2 a 2 111
3 a 3 0
4 b 0 0
5 b 1 0
6 b 2 0
7 b 3 111
8 c 0 111
9 c 1 0
10 c 2 111
11 c 3 111
12 d 0 111
13 d 1 111
14 d 2 0
15 d 3 0
16 e 0 0
17 e 1 0
18 e 2 111
19 e 3 0
20 f 0 0
21 f 1 111
22 f 2 111
23 f 3 111
24 g 0 0
25 g 1 111
26 g 2 111
27 g 3 0
或者您可以执行以下操作。也许会更容易。
index ID A B
0 a 0 111
1 a 1 111
2 a 2 111
3 0 3 0
4 0 0 0
5 0 1 0
6 0 2 0
7 b 3 111
8 c 0 111
9 0 1 0
10 c 2 111
11 c 3 111
12 d 0 111
13 d 1 111
14 0 2 0
15 0 3 0
16 0 0 0
17 0 1 0
18 e 2 111
19 0 3 0
20 0 0 0
21 f 1 111
22 f 2 111
23 f 3 111
24 0 0 0
25 g 1 111
26 g 2 111
27 0 3 0
我怎样才能做到这一点?
太难了。我该怎么办?。我在从大数变为小数时使用.diff().le(0),例如从ID(b) 变为ID(c)。但是当从小数变成大数时,比如从ID(a)变成ID(b)或者从ID(d)变成ID(e),就无法解决了。
【问题讨论】: