Typeerror期望str实例,浮点数找到

时间:2017-04-29 21:29:01

标签: python pandas join

这是一个4 GB的数据集,如下所示:

screenshot

正在运行以下代码以获取所有星号> 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),

2 个答案:

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

一样使用