>>> import textwrap
>>> string = "This is a very very very very very long string."
>>> print textwrap.wrap(string,8)
>>> print textwrap.fill(string,8)
Run Code Online (Sandbox Code Playgroud)
输出:
['这是','非常','非常','非常','非常','非常','长','字符串。']
这是
一个非常
非常
非常
非常
非常
长的
细绳。
我知道 textwrap.wrap() 给了我一个列表,而 textwrap.fill 给了我一个字符串。在文档中,它说:“将单个段落包装在文本(字符串)中,因此每行最多为宽度字符长”。
但我不明白为什么 textwrap.wrap(), 8 形成的列表中每个元素的长度不是 8(如果 8 作为宽度参数传递)。为什么有时是 7,6 等。
同样,我不明白为什么在 textwrap.fill() 的情况下,每行的长度 = 8 个字符(如果宽度传递为 8 或 5,如果宽度传递为 5)。例如,有时是 7、6、4 等。为什么不完全等于宽度。因为它说每行最多应该是宽度字符长,所以如果 with 作为 8 传递,为什么它会在使用行中所有可用的 8 个字符之前中断?
不应该是像下面这样吗:
>>> import textwrap
>>> string = "This is a very very very very very long …Run Code Online (Sandbox Code Playgroud) 我有一个如下形式的数据框:
对于 col1 和 col2 的相同值(例如,AB),我想添加数据帧的 col3 中的所有值,以便仅保留该形式(AB)的一行,并且 col3 中的所有值都与这些值相对应。
结果将如下所示:
我试过:
df.groupby(['col1', 'col2'], axis=0, as_index=True).sum()Run Code Online (Sandbox Code Playgroud)
但它给了我:
这不是我正在寻找的。请帮助和建议。提前致谢。