鱼C论坛

 找回密码
 立即注册
查看: 808|回复: 4

数据分析问题

[复制链接]
发表于 2020-5-16 16:09:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

#给每种出现的空气质量种类赋值为1
for i in range(df.shape[0]):
    #zeros_df.loc["空气质量种类"] =1
    zeros_df.loc[i,temp_list[i]] =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([i for j in temp_list for i in j ])) 这儿显示出错 TypeError: 'float' object is not iterable,说是格式不对,我空气质量种类aqiInfo数据类型是object 。我不知道如何改动那部分程序
特此向各位大佬求教。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 16:14:07 | 显示全部楼层
发完整代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 16:16:30 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-16 16:16:33 | 显示全部楼层
aqiInfo_list = list(set([i for j in temp_list for i in j ]))
浮点型不能迭代,你数据是什么样的 发一些样本看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-21 08:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表