【问题标题】:Calculating number of characters per document计算每个文档的字符数
【发布时间】:2017-08-22 20:22:49
【问题描述】:

我正在处理包含数千行文本消息 (dtype=str) 及其分类(垃圾邮件或非垃圾邮件)的文档(pandas 数据框):

  -
                                         text    spam
0 Go until jurong point, crazy.. Available only    0
1 Ok lar... Joking wif u oni...                    0
2 Free entry in 2 a wkly comp to win FA Cup fina   1
3 U dun say so early hor... U c already then say   0
4 Nah I don't think he goes to usf, he lives aro   0
5 FreeMsg Hey there darling it's been 3 week's n   1
6 WINNER!! As a valued network customer you have   1

我想计算每条消息的字符数(即每一行),将它们分成单独的列('length'),将它们的总和除以 len(document) 以获得平均长度(数字字符)的文档。 在存在非字符空格的情况下获得此统计数据的最有效方法是什么?我是否只对整个数据帧中的每个行条目应用 len()?

谢谢。

【问题讨论】:

  • 到目前为止你尝试了什么?
  • df['text'].str.len()
  • 'g', 'o',包括非字符空格(例如,空格)。我似乎忘记在我的问题威胁的最后一行添加“not”,我将对其进行编辑。此外,我之前尝试过 'df['text'].str.len()' 但一直得到不一致的结果,一定是我的一些错误。
  • 等一下,既然我发起了这个线程,我想知道如何从字符数中排除非字符空间。这样这个帖子就不会浪费了。

标签: python dataframe text character


【解决方案1】:

试试这个

for row in ('Insert/file/path/here'):
        print (len(row))

【讨论】:

  • 谢谢!这似乎是一个更优雅的解决方案。可以修改它以梳理出非字符空间吗?
  • 您可以使用 row.count(' ') 来计算空格数并从行长中减去它。见这里:stackoverflow.com/questions/19669001/…
  • 再次感谢。那么哪一部分处理非字符空间? row.count(' ')?
  • 如果非字符空格是指实际的物理空格,括号之间的空格表示 row.count 功能正在计算空格数。并感谢您给我最佳答案!
  • 非常感谢您向我澄清这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-30
  • 2014-04-17
  • 2022-07-08
  • 1970-01-01
  • 2016-01-26
相关资源
最近更新 更多