使用pycharm进行数据分析

题 目 总 览

文中所需要的文件在文章最后,如有需要可免费拿走。

代码总览  

代码总览,先展示完整代码,后面有代码完整解析。

一.使用python进行数据清洗

先要下载一个 “pandas”库  

然后就是导入”pandas“库, 后面 as 改名为”pd“ 这里是为了后面用这个库少打点代码用的。

然后读取“.csv”文件。我这里是“hotel.csv"

读取的文件赋值给名字为“shuju”的变量名。

最后输出

import pandas as pd
shuju=pd.read_csv('hotel.csv')
print(shuju)

这是执行结果,

(1)删除hotel.csv 中 商 圈 为 空 的 数 据

删除 “csv”文件中商圈为空的数据并且存入另一个csv文件中,里面存放删除空数据后的文件文件。

首先我们要有一个思路,一个好的思路才能继续把题做下去,没有思路做题就像大海捞针摸不清楚。

import pandas as pd
shuju=pd.read_csv('hotel.csv')
print(shuju)

shukong=shuju.dropna(subset=['shopping'])
kong=shuju.shape[0]-shuju.shape[0]
shukong.to_csv(f'hotel2_cl_{kong}.csv',index=False)

这里我定义一个变量名“shukong”,然后利用“dropna”函数去丢弃含空值的行,后面要加上“subset”函数,让dropna函数去查找‘shopping’这一列空值。

然后我再定义一个函数‘kong’删除这些空数据,这里要用到‘shape’函数,删除空值。

把清理后的文件保存到题目目录下,中间‘{kong}’是删除的数据条数,index=False,表示不保存索引。

(2)删除文件中缺失值大于三个的数据列并存入至hotel2_c2_N.csv,N 为删除的数据列变量名,多列时用下划线“_”间隔无顺序要求。

liehang=[col for col in shuju.columns if shuju[col].isnull().sum() >3 ]
shushi=shuju.drop(columns=liehang)
Nliehang='_'.join(liehang)
shushi.to_csv(f'hotel2_c2_{Nliehang}',index=False)

这里我定义一个变量名‘liehang’这里创建一个列表,‘col’某列,‘for’到某列,如果某列col的缺失值大于3,则该列的名称添加到列表。

‘shushi’创建一个新的数据库,'drop'函数是从‘shuju’中移除‘liehang’列表中的列

‘Nliehang’这里计算并保存已被移除的列名连接成的字符串变量,‘ _ ’为连接符,

最后清理后的数据保存到题目目录下。index=False 表示不保存索引

(3)将hotel.csv文件中评分为空的数据设置为0并且存入hotel2_c3.csv,文件中。

shufen=shuju.fillna(0)
shufen.to_csv('hotel3_c3.csv',index=False)

首先创建一个新的数据库‘shufen’把缺失值替换成0,生成一个新的数据框

把数据存入到指定目录下。

(4)将hotel.csv中评分为空的数据设置为总平均分并且存入hotel2_c4_N.csv,N为总平均分,保留一位小数。

pingfen=shuju['score'].mean()
zongpingfen=shuju.fillna(pingfen.round(1))
Npingfen=pingfen.round(1).astype(str)
zongpingfen.to_csv(f'hotel2_c4_{Npingfen}.csv',index=False)
print(Npingfen)

‘score’先去看评分这一列,数据里面用英文代替的,所以我们这里查看的是'score','mean'函数是求取平均值。

'zongpingfen'这里是用到数据填充函数‘fillna’,‘round’保留一位小数。

‘Npingfen’这里是在‘pingfen’数据里面计算平均值,保留一位小数,结果转换为‘str’字符串类型。

结果保存到指定文件目录下。

您对这次的讲解是否满意呢,欢迎投票!

到此本题解释完毕,文件在下方,如有疑问可在评论区发言,或者私信博主。

百度网盘 请输入提取码

提取码:9miz

谢谢观看。(๑•̌.•๑)   (๐•ᴗ•๐)

  • 52
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值