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 中的字符串进行换行。
- 此方法具有与以下相同的关键字参数和默认值
- 参数:
- 宽度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