这是一个4 GB的数据集,如下所示:
正在运行以下代码以获取所有星号> 4
的记录import pandas as pd
from collections import Counter
data = pd.read_csv("yelp_academic_dataset_review.csv")
temp=" ".join(data[data["stars"]>=4]["text"].values)
上述声明中的错误:
TypeError
Traceback (most recent call last)
<ipython-input-7-76631d7041ba> in <module>()
----> 1 temp=" ".join(data[data["stars"]>=4]["text"].values)
TypeError: sequence item 2320417: expected str instance, float found
后面的代码吐出并计算单词:
temp2=temp.split(sep=" ")
c=Counter(temp2)
count=c.most_common()
data2=pd.DataFrame(count,columns=["word","count"])
编辑:早些时候
temp=" ".join(data[data["stars"]<=3]["text"].values)
我曾经在计数输出中得到单词。现在我在str()实现之后得到了类似的东西。
[('', 1650),
('e', 466),
('t', 298),
('o', 277),
('a', 258),
('n', 240),
('s', 211),
答案 0 :(得分:0)
你的类型错了。 Join不会自动将float类型转换为字符串。
基本上,data[data["stars"]>=4]["text"].values
返回一个浮点值,并且您尝试使用字符串连接它。所以,试试这个:
" ".join(str(data[data["stars"]>=4]["text"].values))
答案 1 :(得分:0)
你应该看看追溯。 它说这是一个TypeError。
您的加入声明应该像" ".join(str(data[data["stars"]>=4]["text"].values))