Python 将空格填充到具有可变长度的序列中的字符串

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_ 我可以做的一种方法是遍历整个数据帧,但我需要一种方法来做到这一点

我正在尝试在数据帧系列中的字符串的两侧填充“\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_

我可以做的一种方法是遍历整个数据帧,但我需要一种方法来做到这一点。我正在使用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+”
。。?