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

时间:2019-06-24 13:01:03

标签: python python-3.x pandas

我正在尝试在数据帧系列的字符串的两侧填充“ _”。

这是数据框。

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。

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 + "_")