【PythonAI】2.2.2 技能实训:使用Pandas读取CSV/Excel文件,查看数据概览(2. 数据质量评估)
importpandasaspdimportnumpyasnp# 设置显示选项统信UOS终端适配pd.set_option(display.max_columns,None)pd.set_option(display.width,1000)pd.set_option(display.max_colwidth,50)# 读取CSV文件dfpd.read_csv(dirty_reviews.csv)# 查看基本信息print(数据形状:,df.shape)print(\n前5行数据:)print(df.head())print(\n数据信息:)df.info()print(\n基础统计:)print(df.describe())defdata_quality_report(df):生成数据质量报告report{总记录数:len(df),总列数:len(df.columns),缺失值统计:df.isnull().sum().to_dict(),缺失值比例:(df.isnull().sum()/len(df)*100).round(2).to_dict(),重复行数:df.duplicated().sum(),数据类型:df.dtypes.to_dict()}print(*50)print(数据质量评估报告)print(*50)forkey,valueinreport.items():print(f\n【{key}】)ifisinstance(value,dict):fork,vinvalue.items():print(f{k}:{v})else:print(f{value})print(*50)returnreport# 生成报告quality_reportdata_quality_report(df)运行结果(uos_ai_env)MuhtarUOS-Desktop:~/AI_Projects$ python3 quality_report.py 数据形状:(6,6)前5行数据: user_id username rating comment submit_time city 0 1001 用户A 5.0 很好吃的红枣p推荐购买/p 2024-01-15 乌鲁木齐 1 1002 用户B 8.0 味道不错 2024/01/16 10:30 阿克苏 2 1003 用户C NaN NaN 2024.01.17 喀什 3 1001 用户A 5.0 很好吃的红枣p推荐购买/p 2024-01-15 乌鲁木齐 4 1004 用户D 9.0 物流很快包装完好 2024-01-18 14:20 和田 数据信息: classpandas.core.frame.DataFrame RangeIndex: 6 entries,0 to 5Datacolumns(total 6 columns):# Column Non-Null Count Dtype----------------------------0 user_id 6 non-null int64 1 username 6 non-null object 2 rating 5 non-null float64 3 comment 5 non-null object 4 submit_time 6 non-null object 5 city 6 non-null object dtypes: float64(1),int64(1),object(4)memory usage: 416.0 bytes 基础统计: user_id rating count 6.000000 5.000000 mean 1002.666667 6.200000 std 1.632993 2.167948 min 1001.000000 4.000000 25% 1001.250000 5.000000 50% 1002.500000 5.000000 75% 1003.750000 8.000000 max 1005.000000 9.000000 数据质量评估报告 【总记录数】 6 【总列数】 6 【缺失值统计】 user_id: 0 username: 0 rating: 1 comment: 1 submit_time: 0 city: 0 【缺失值比例】 user_id: 0.0 username: 0.0 rating: 16.67 comment: 16.67 submit_time: 0.0 city: 0.0 【重复行数】 1 【数据类型】 user_id: int64 username: object rating: float64 comment: object submit_time: object city: object (uos_ai_env)MuhtarUOS-Desktop:~/AI_Projects$