呦吼吼吼 发表于 2020-5-16 16:09:55

数据分析问题

是在编写统计南昌空气质量种类数量的程序的时候出现的,我看网课是,网课老师讲了一个统计豆瓣某一年电影的标签种类以及数量的分析程序。但每部电影差不多有3个标签,像,动作,冒险,惊悚,喜剧之类的,用表格的形式,做了一个大表格,但我的空气质量种类每天只有一种,像是在优,良,轻度污染里的一种,无法使用那种大表格的形式。
#统计分类的列表
temp_list = df["aqiInfo"].str.split(",").tolist()   #转化成大列表
aqiInfo_list = list(set())
#构造全为0的数组
zeros_df=pd.DataFrame(np.zeros((df.shape,len(aqiInfo_list))),columns=aqiInfo_list)
#print(zeros_df)

#给每种出现的空气质量种类赋值为1
for i in range(df.shape):
    #zeros_df.loc["空气质量种类"] =1
    zeros_df.loc] =1

print(zeros_df.head(3))
#统计每种空气质量的和
aqiInfo_count = zeros_df.sum(axis=0)
print(aqiInfo_count)
#排序
aqiInfo_count = aqiInfo_count.sort_values()
_x = aqiInfo_count.index
_y = aqiInfo_count.values
#绘图
plt.bar(range(len(_x)),_y,density=True)
plt.xticks(range(len(_x)),_x)
plt.grid()
plt.show()
运行的时候 #转化成大列表的下一行 aqiInfo_list = list(set()) 这儿显示出错 TypeError: 'float' object is not iterable,说是格式不对,我空气质量种类aqiInfo数据类型是object 。我不知道如何改动那部分程序
特此向各位大佬求教。

jkluoling1992 发表于 2020-5-16 16:13:10

本帖最后由 jkluoling1992 于 2020-5-16 16:16 编辑

temp _list 打印出来是啥?


for j in temp_list:
    for i in j:# 如果j 是个float数,那它执行遍历肯定就错了啊
   pass

liuzhengyuan 发表于 2020-5-16 16:14:07

发完整代码

焦健鬼 发表于 2020-5-16 16:16:30

{:10_256:}

Twilight6 发表于 2020-5-16 16:16:33

aqiInfo_list = list(set())
浮点型不能迭代,你数据是什么样的 发一些样本看看
页: [1]
查看完整版本: 数据分析问题