pandas.Series.str.wrap#

Series.str.wrap(width, expand_tabs=True, tabsize=8, replace_whitespace=True, drop_whitespace=True, initial_indent='', subsequent_indent='', fix_sentence_endings=False, break_long_words=True, break_on_hyphens=True, max_lines=None, placeholder=' [...]')[源代码]#

在指定的行宽处对 Series/Index 中的字符串进行换行。

此方法具有与以下相同的关键字参数和默认值

textwrap.TextWrapper.

参数:
宽度int, 可选

最大行宽。

expand_tabsbool, 可选

如果为真,制表符将被扩展为空格(默认值:真)。

tabsizeint, 可选

如果 expand_tabs 为真,那么文本中的所有制表符将根据当前列和给定的制表符大小(默认:8)扩展为零个或多个空格。

replace_whitespacebool, 可选

如果为真,每个在制表符扩展后剩余的空白字符(由 string.whitespace 定义)将被替换为一个空格(默认:True)。

drop_whitespacebool, 可选

如果为真,在换行后偶然出现在行首或行尾的空白字符将被删除(默认值:True)。

initial_indentstr, 可选

将添加到包装输出第一行的字符串。计入第一行的长度。空字符串不缩进(默认:’’)。

subsequent_indentstr, 可选

将添加到所有换行输出行(除第一行外)的字符串。计入每行长度(除第一行外)(默认:’’)。

fix_sentence_endingsbool, 可选

如果为真,TextWrapper 会尝试检测句子结尾并确保句子之间总是用两个空格分隔。这通常在等宽字体中显示文本时是需要的。然而,句子检测算法并不完美:它假设句子结尾由一个小写字母后跟 ‘.’, ‘!’, 或 ‘?’ 组成,可能后跟 ‘”’ 或 ‘’’,然后是一个空格。这个算法的一个问题是它无法区分 “Dr.” 在 […] Dr. Frankenstein’s monster […] 和 “Spot.” 在 […] See Spot. See Spot run […] 之间的差异。由于句子检测算法依赖于 string.lowercase 来定义“小写字母”,并且使用句号后两个空格的约定来分隔同一行中的句子,它是特定于英语文本的(默认:False)。

break_long_wordsbool, 可选

如果为真,那么长度超过宽度的单词将被拆分,以确保没有行超过宽度。如果为假,长单词不会被拆分,有些行可能会超过宽度(默认:真)。

break_on_hyphensbool, 可选

如果为真,换行将优先发生在空白处和复合词中的连字符之后,这是英语中的习惯做法。如果为假,则只考虑空白处作为潜在的换行位置,但如果你想要真正不可分割的单词,你需要将 break_long_words 设置为假(默认:True)。

max_linesint, 可选

如果不是 None,那么输出将包含最多 max_lines 行,输出末尾将出现占位符(默认:None)。

占位符str, 可选

如果输出文本已被截断,则将出现在文本末尾的字符串(默认值:’ […]’)。

返回:
系列或索引

备注

在内部,此方法使用一个带有默认设置的 textwrap.TextWrapper 实例。要实现与 R 的 stringr 库 str_wrap 函数匹配的行为,请使用以下参数:

  • expand_tabs = False

  • replace_whitespace = True

  • drop_whitespace = True

  • break_long_words = False

  • break_on_hyphens = False

例子

>>> s = pd.Series(["line to be wrapped", "another line to be wrapped"])
>>> s.str.wrap(12)
0             line to be\nwrapped
1    another line\nto be\nwrapped
dtype: object