小编PyA*_*ndy的帖子

textwrap.wrap() 和 textwrap.fill() 在 python 2 中如何工作?

>>> 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)

python python-2.7

8
推荐指数
1
解决办法
9044
查看次数

如何通过对第 3 列中的值求和,将前 2 列中具有相同值的 Pandas Dataframe 行组合在一起?

我有一个如下形式的数据框:

在此处输入图片说明

对于 col1 和 col2 的相同值(例如,AB),我想添加数据帧的 col3 中的所有值,以便仅保留该形式(AB)的一行,并且 col3 中的所有值都与这些值相对应。

结果将如下所示:

在此处输入图片说明

我试过:

df.groupby(['col1', 'col2'], axis=0, as_index=True).sum()
Run Code Online (Sandbox Code Playgroud)

但它给了我:

在此处输入图片说明

这不是我正在寻找的。请帮助和建议。提前致谢。

python dataframe python-3.x pandas pandas-groupby

3
推荐指数
1
解决办法
3545
查看次数