Pandas 系列中的特殊字符串格式
special string formatting within a Series in Pandas
我正在寻找 Series.str.zfill(width)
方法的自定义版本。此方法在字符串中添加零,使字符串具有 width
个字符。我正在寻找可以做到这一点的东西,但可以使用任何字符(或字符序列),而不仅仅是使用 0。例如,从左侧根据需要多次添加“-”,以便字符串具有 width
个字符.
我认为您正在寻找以 width
和 fillchar
作为参数的 Series.str.rjust
:
Filling left side of strings in the Series/Index with an additional
character.
您可以像下面的 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
built-in rjust
方法而不是创建自己的方法!我的只是另一个 less-performant 示例。
我正在寻找 Series.str.zfill(width)
方法的自定义版本。此方法在字符串中添加零,使字符串具有 width
个字符。我正在寻找可以做到这一点的东西,但可以使用任何字符(或字符序列),而不仅仅是使用 0。例如,从左侧根据需要多次添加“-”,以便字符串具有 width
个字符.
我认为您正在寻找以 width
和 fillchar
作为参数的 Series.str.rjust
:
Filling left side of strings in the Series/Index with an additional character.
您可以像下面的 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
built-in rjust
方法而不是创建自己的方法!我的只是另一个 less-performant 示例。