计算Python中的单词数

时间:2017-04-21 03:40:56

标签: python pandas

这是我的样本数据集enter image description here

我需要创建一个新列“字符数”。此列应指示查询中的单词数。我试着使用这段代码,

df.words = [len(df.query.split()) for sentence in df.query]

但是此错误返回:

  

AttributeError:'Series'对象没有属性'query'

2 个答案:

答案 0 :(得分:2)

这将完成这项工作:

df['words'] =df['query'].str.split().apply(len)

例如,

import pandas as pd
df=pd.DataFrame({'query':['asd vbg ffd','fd vv']})
df['words'] =df['query'].str.split().apply(len)

然后df

    query       words
0   asd vbg ffd 3
1   fd vv       2

答案 1 :(得分:1)

您可以使用str.splitstr.lenNone合作的内容以及缺少的值:

df = pd.DataFrame({'query':['asd vbg ffd','fd vv', None, np.nan]})

df['words'] = df['query'].str.split().str.len()
print (df)
         query  words
0  asd vbg ffd    3.0
1        fd vv    2.0
2         None    NaN
3          NaN    NaN
df['words'] =df['query'].str.split().apply(len)
  

TypeError:类型' NoneType'的对象没有len()