我正在尝试在数据帧系列的字符串的两侧填充“ _”。
这是数据框。
A
cat
dog
rat
所以我用了这个
A.str.pad(5, side='both', fillchar="_")
输出
A
_cat_
_dog_
_rat_
但是现在我得到了一个字符串长度可变的系列。
A
cat
dog
rat
crocodile
moose
预期产量
A
_cat_
_dog_
_rat_
_crocodile_
_moose_
我可以做的一种方法是遍历整个数据框,但是我需要一种熊猫方法来做到这一点。我正在使用pandas和python 3。
答案 0 :(得分:2)
基本的熊猫手术会给你想要的东西
'_' + df['A'].astype(str) + '_'
输出:
0 _cat_
1 _dog_
2 _rat_
3 _crocodile_
4 _moose_
答案 1 :(得分:1)
这是我的版本,使用apply
和现代(Python> = 3.6)字符串格式
import pandas as pd
s = pd.Series(['A', 'cat', 'dog', 'rat', 'crocodile', 'moose'])
print(s)
s = s.apply(lambda x: f'_{x}_',)
print(s)
输出:
0 A
1 cat
2 dog
3 rat
4 crocodile
5 moose
dtype: object
0 _A_
1 _cat_
2 _dog_
3 _rat_
4 _crocodile_
5 _moose_
dtype: object
答案 2 :(得分:0)
您还可以使用Apply:
s = pd.Series(['A', 'cat', 'dog', 'rat', 'crocodile', 'moose'])
s.apply(lambda x: "_" + x + "_")