Pandas系列中的特殊字符串格式

时间:2017-01-20 13:02:05

标签: python python-3.x pandas string-formatting series

我正在寻找Series.str.zfill(width)方法的自定义版本。此方法在字符串中添加零,以使字符串具有width个字符。我正在寻找能够做到这一点的东西,但是使用任何字符(或字符序列),不仅仅是0.例如,从左边开始需要多次添加' - ',以便字符串有width个字符

2 个答案:

答案 0 :(得分:3)

我认为您正在寻找以widthfillchar作为参数的Series.str.rjust

  

在系列/索引中添加字符串的左侧   字符。

答案 1 :(得分:1)

您可以在下面定义left_fill之类的自定义函数,并使用pandas.Series.apply将其映射到整个系列。

import pandas as pd

s = pd.Series(['foo', 'bar', 'baz', 'apple'])

def left_fill(string, char, length):
    while len(string) < length:
        string = char + string
    return string

s.apply(left_fill, args = ('-', 5))

但是,正如评论中所提到的,您最好使用pandas内置rjust方法而不是创建自己的方法!我只是另一个性能较差的例子。