Python 将空格填充到具有可变长度的序列中的字符串
我正在尝试在数据帧系列中的字符串的两侧填充“\u1” 这是数据帧Python 将空格填充到具有可变长度的序列中的字符串,python,python-3.x,pandas,Python,Python 3.x,Pandas,我正在尝试在数据帧系列中的字符串的两侧填充“\u1” 这是数据帧 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_ 我可以做的一种方法是遍历整个数据帧,但我需要一种方法来做到这一点
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。基本的pandas操作将为您提供所需的功能
'_' + df['A'].astype(str) + '_'
输出:
0 _cat_
1 _dog_
2 _rat_
3 _crocodile_
4 _moose_
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
您还可以使用apply:
s = pd.Series(['A', 'cat', 'dog', 'rat', 'crocodile', 'moose'])
s.apply(lambda x: "_" + x + "_")
这是我的版本,使用
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 _cat_
1 _dog_
2 _rat_
3 _crocodile_
4 _moose_
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
“+A+”
。。?