JavaScript
x
9
1
columnA columnB
2
0 a1|a2|a3|a4|a5|a6|a7|a8|a9|a10 0
3
1 b1|b2|||||||| 8
4
2 c1|c2|c3||||||| 7
5
3 d1|d2|||||||| 8
6
4 e1|e2|||||||| 8
7
5 f1|f2|f3|f4|f5|f6|f7||| 3
8
6 g1|g2|g3|g4|||||| 6
9
i want the first line to remove 0 characters to the right, the second line to remove 8 characters to the right, The resulting data will have the following form
JavaScript
1
9
1
columnA columnB
2
0 a1|a2|a3|a4|a5|a6|a7|a8|a9|a10 0
3
1 b1|b2 8
4
2 c1|c2|c3 7
5
3 d1|d2 8
6
4 e1|e2 8
7
5 f1|f2|f3|f4|f5|f6|f7 3
8
6 g1|g2|g3|g4 6
9
Thank you very much everyone. I am a newbie and my English is not very good. Hope everyone can help me
Advertisement
Answer
You can use Pandas’ string methods on column 'columnA'
rstrip
JavaScript
1
11
11
1
df.columnA.str.rstrip('|')
2
3
0 a1|a2|a3|a4|a5|a6|a7|a8|a9|a10
4
1 b1|b2
5
2 c1|c2|c3
6
3 d1|d2
7
4 e1|e2
8
5 f1|f2|f3|f4|f5|f6|f7
9
6 g1|g2|g3|g4
10
Name: columnA, dtype: object
11
Not altering df
JavaScript
1
11
11
1
df.assign(columnA=df.columnA.str.rstrip('|'))
2
3
columnA columnB
4
0 a1|a2|a3|a4|a5|a6|a7|a8|a9|a10 0
5
1 b1|b2 8
6
2 c1|c2|c3 7
7
3 d1|d2 8
8
4 e1|e2 8
9
5 f1|f2|f3|f4|f5|f6|f7 3
10
6 g1|g2|g3|g4 6
11
overwriting df
JavaScript
1
12
12
1
df['columnA'] = df.columnA.str.rstrip('|')
2
df
3
4
columnA columnB
5
0 a1|a2|a3|a4|a5|a6|a7|a8|a9|a10 0
6
1 b1|b2 8
7
2 c1|c2|c3 7
8
3 d1|d2 8
9
4 e1|e2 8
10
5 f1|f2|f3|f4|f5|f6|f7 3
11
6 g1|g2|g3|g4 6
12