1
0 an
1 df
2 0
3 sdg
4 gd
5 dg
6 0
7 dc
8 0
9 dcd
10 ds
11 1
12 sdg
13 ds
14 1
15 sd
16 sg
17 2
18 dsg
19 sdg
20 dfg
21 2
我想问一下如何使用上面的数据帧生成以下数据帧,根据第一列生成第二列。 (就像填写excel一样,但很多次)
1 2
0 an 0
1 df 0
2 0 0
3 sdg 0
4 gd 0
5 dg 0
6 0 0
7 dc 0
8 0 0
9 dcd 1
10 ds 1
11 1 1
12 sdg 1
13 ds 1
14 1 1
15 sd 2
16 sg 2
17 2 2
18 dsg 2
19 sdg 2
20 dfg 2
21 2 2
这里只是一些例子,第二列中的最大数字是520,第二列中的数字是连续的并且是有序的。
答案 0 :(得分:1)
假设您的断点是数字,并且您想填充字符串的值:
df[2] = pd.to_numeric(df[1], errors='coerce').bfill().astype('int')
df
Out:
1 2
0 an 0
1 df 0
2 0 0
3 sdg 0
4 gd 0
5 dg 0
6 0 0
7 dc 0
8 0 0
9 dcd 1
10 ds 1
11 1 1
12 sdg 1
13 ds 1
14 1 1
15 sd 2
16 sg 2
17 2 2
18 dsg 2
19 sdg 2
20 dfg 2
21 2 2