利用Pandas库进行简单的数据分析(数据清洗)
发布时间
阅读量:
阅读量
Pandas练习3
-
-
练习题
-
- 练习1
- 练习2
-
练习1
-
- 代码
- 效果图
-
练习2
-
- 代码
- 效果图
-
小结
-
练习题
练习1

练习2

练习1
代码
import pandas as pd
import numpy as np
# Exercise 1
# 读取北向.csv 指定 trade_date 为 行索引
data_north = pd.read_csv("北向.csv", index_col="trade_date")
print("读取后的数据为:")
print(data_north)
print()
# 查看数据的基本信息 有无缺失值 对其缺失值进行处理
print("数据的基本信息:")
print(data_north.info())
print()
# 删除缺失值所在行
data_north.dropna(inplace=True) # inplace=True表示在原数据上进行操作
print()
# 查看数据的基本信息 查看数据是否清洗完毕
print("清理后的数据信息为:")
print(data_north.info())
print()
# 标签为 index 这列没啥用 将该列删除
data_north.drop(columns="index", inplace=True) # 是删除列 所以要用columns
# 观察数据是否有重复行
print(data_north.duplicated(keep="first"))
# 将重复行进行删除
data_north.drop_duplicates(inplace=True)
print()
# 将行索引 进行升序
data_north.sort_index(inplace=True)
print(data_north)
# 将处理好的数据 保存至 北向(副).csv
data_north.to_csv("北向(副).csv")
AI写代码
效果图
- 原数据

- 原数据基本信息

- 清理后的数据信息

- 是否存在重复行

- 排序后的数据

练习2
代码
import pandas as pd
# exercise 2
# 读取 FoodFacts.csv 数据,该数据是全球食品数据,需分析每个国家添加剂的平均使用。
# 步骤分析
# 1.读取数据
# 提取关于国家和添加剂的两列数据
food_additive_data = pd.read_csv("FoodFacts.csv", usecols=["countries_en", "additives_n"])
print("数据的信息:")
print(food_additive_data.info())
print()
# 2.数据质量考量
# 根据info()方法,发现有很多缺失值。
# 所以首先删除缺失数据NaN
food_fact = food_additive_data.dropna()
print("处理后的数据信息:")
print(food_fact.info()) # 再次观察数据表的信息
print("处理后的数据前20行:")
print(food_fact.head(21)) # 发现有些行有多个国家 用逗号隔开了
print()
# 3.清洗数据
# 定义一个方法:获取国家数据,发现国家数据是有用逗号隔开的。过滤掉包含逗号的数据
def get_countries(countries_data):
# 去除包含逗号的数据
f = lambda x: "," not in x
without_comma = countries_data.apply(f)
without_comma_countries = countries_data[without_comma]
# 去除重复值 获取各个国家的名称列表
# 使用drop_duplicates()方法
countries_counts = without_comma_countries.drop_duplicates()
return countries_counts
countries = get_countries(food_fact["countries_en"])
print("获取到的国家:")
print(countries)
# 4.对各个国家的使用数量进行统计
# (1).清洗,统计国家数据
# (2).通过国家统计添加剂用量
def get_additives_count(countries_data, food_dt):
count_list = []
# 遍历循环国家的名字
for country in countries_data:
# 如何取出每个国家对应的数据
data = food_dt[food_dt.loc[:, "countries_en"] == country]
# 求每个国家添加剂的平均值
additives_mean = data["additives_n"].mean()
count_list.append(additives_mean)
# 构建新的DataFrame重组数据
new_df = pd.DataFrame({"countries": countries_data, "additives_mean": count_list})
return new_df
print()
print("获取到的添加剂的信息:")
additives = get_additives_count(countries, food_fact)
print(additives)
# 5.保存统计结果
additives.to_excel("results.xlsx")
AI写代码
效果图
基本信息

处理缺失值后的数据信息

处理缺失值后的数据的前20行

获取到的国家

获取到的添加剂的信息

小结
在分析文件数据前需明确核心数据要素(有用部分)。
在开展数据分析工作时应特别关注数据特征(如重复记录、存储格式等)。
应在实际操作中充分运用Series与DataFrame功能。
全部评论 (0)
还没有任何评论哟~
