我需要创建一个新列“字符数”。此列应指示查询中的单词数。我试着使用这段代码,
df.words = [len(df.query.split()) for sentence in df.query]
但是此错误返回:
AttributeError:'Series'对象没有属性'query'
答案 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.split
和str.len
与None
合作的内容以及缺少的值:
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()