数据导入与预处理-第6章-04pandas综合案例(上)

简介: 数据导入与预处理-第6章-04pandas综合案例1 pandas综合案例-运动员信息数据1.1 查看数据1.2 数据处理与分析

1 pandas综合案例-运动员信息数据

1.1 查看数据

导入数据:

import numpy as np
import pandas as pd

查看数据-运动员信息采集01.csv

数据下载地址:

https://download.csdn.net/download/m0_38139250/86789510

下载后解压到工程目录下即可

file_one = pd.read_csv('file:运动员信息采集01.csv', encoding='gbk')
file_one

输出为:


查看数据-运动员信息采集02.excel

file_two = pd.read_excel('file:运动员信息采集02.xlsx',engine="openpyxl")
file_two

输出为:


合并数据

# 采用外连接的方式合并数据
all_data = pd.merge(left=file_one,right=file_two, how='outer')
all_data

输出为:


1.2 数据处理与分析

筛选出国籍为中国的运动员

# 筛选出国籍为中国的运动员
all_data = all_data[all_data['国籍'] == '中国']
all_data

输出为:


查看DataFrame类对象的摘要

# 查看DataFrame类对象的摘要,包括各列数据类型、非空值数量、内存使用情况等
all_data.info()

输出为:


检测all_data中是否有重复值

# 检测all_data中是否有重复值
all_data[all_data.duplicated().values==True]
• 1
• 2

输出为:



删除all_data中的重复值

# 删除all_data中的重复值,并重新对数据进行索引
all_data = all_data.drop_duplicates(ignore_index=True)
all_data.head(10)

输出为:


筛选出项目为篮球的运动员并访问“出生日期”一列的数据

# 筛选出项目为篮球的运动员
basketball_data= all_data[all_data['项目'] == '篮球']
# 访问“出生日期”一列的数据
basketball_data['出生日期']

输出为:


修改出生日期列

import datetime
basketball_data = basketball_data.copy()
# 将以“x”天显示的日期转换成以“x年x月x日”形式显示的日期
initial_time = datetime.datetime.strptime('1900-01-01', "%Y-%m-%d")
for i in basketball_data.loc[:, '出生日期']:
    if type(i) == int:
        new_time = (initial_time + datetime.timedelta(days=i)).strftime('%Y{y}%m{m}%d{d}').format(y='年', m='月', d='日')
        basketball_data.loc[:, '出生日期'] = basketball_data.loc[:, '出生日期'].replace(i, new_time)
# 为保证出生日期的一致性,这里统一使用只保留到年份的日期
basketball_data.loc[:, '出生日期'] = basketball_data['出生日期'].apply(lambda x:x[:5])
basketball_data['出生日期'].head(10)

输出为:


筛选男篮运动员

# 筛选男篮球运动员
male_data = basketball_data[basketball_data['性别'].apply(lambda x :x =='男')]
male_data = male_data.copy()
# 计算身高平均值(四舍五入取整)
male_height = male_data['身高'].dropna() 
fill_male_height = round(male_height.apply(lambda x : x[0:-2]).astype(int).mean())
fill_male_height = str(int(fill_male_height)) + '厘米'
# 填充缺失值
male_data.loc[:, '身高'] = male_data.loc[:, '身高'].fillna(fill_male_height)
# 为方便后期使用,这里将身高数据转换为整数
male_data.loc[:, '身高'] = male_data.loc[:, '身高'].apply(lambda x: x[0:-2]).astype(int)
# 重命名列标签索引
male_data.rename(columns={'身高':'身高/cm'}, inplace=True)
male_data

输出为:



筛选女篮球运动员数据

# 筛选女篮球运动员数据
female_data = basketball_data[basketball_data['性别'].apply(
                                                lambda x :x =='女')]
female_data = female_data.copy()
data = {'191cm':'191厘米','1米89公分':'189厘米','2.01米':'201厘米',
          '187公分':'187厘米','1.97M':'197厘米','1.98米':'198厘米',
          '192cm':'192厘米'}
female_data.loc[:, '身高'] = female_data.loc[:, '身高'].replace(data)
# 计算女篮球运动员平均身高
female_height = female_data['身高'].dropna()
fill_female_height = round(female_height.apply(lambda x : x[0:-2]).astype(int).mean())
fill_female_height =str(int(fill_female_height)) + '厘米'
# 填充缺失值
female_data.loc[:, '身高'] = female_data.loc[:,  '身高'].fillna(fill_female_height)
# 为方便后期使用,这里将身高数据转换为整数
female_data['身高'] = female_data['身高'].apply(lambda x : x[0:-2]).astype(int)
# 重命名列标签索引
female_data.rename(columns={'身高':'身高/cm'}, inplace=True)
female_data

输出为:

替换数据

# 替换数据
female_data.loc[:, '体重'] = female_data.loc[:, '体重'].replace({'88千克': '88kg'})
female_data

输出为:


相关文章
|
4月前
|
存储 数据采集 数据处理
深入探索Pandas的DataFrame:基本用法与案例研究
深入探索Pandas的DataFrame:基本用法与案例研究
|
11天前
|
JSON 数据挖掘 API
案例 | 用pdpipe搭建pandas数据分析流水线
案例 | 用pdpipe搭建pandas数据分析流水线
|
2月前
|
存储 消息中间件 数据挖掘
Python实时数据分析:利用丰富的库(如Pandas, PySpark, Kafka)进行流处理,涵盖数据获取、预处理、处理、存储及展示。
【7月更文挑战第5天】Python实时数据分析:利用丰富的库(如Pandas, PySpark, Kafka)进行流处理,涵盖数据获取、预处理、处理、存储及展示。示例代码展示了从Kafka消费数据,计算社交媒体活跃度和物联网设备状态,并可视化结果。适用于监控、故障检测等场景。通过学习和实践,提升实时数据分析能力。
66 0
|
4月前
|
数据可视化 数据挖掘 C++
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
|
4月前
|
数据采集 数据挖掘 数据处理
《Pandas 简易速速上手小册》第2章:Pandas 数据导入与导出(2024 最新版)
《Pandas 简易速速上手小册》第2章:Pandas 数据导入与导出(2024 最新版)
82 1
|
4月前
|
供应链 搜索推荐 数据挖掘
Pandas实战案例:电商数据分析的实践与挑战
【4月更文挑战第16天】本文通过一个电商数据分析案例展示了Pandas在处理销售数据、用户行为分析及商品销售趋势预测中的应用。在数据准备与清洗阶段,Pandas用于处理缺失值、重复值。接着,通过用户购买行为和商品销售趋势分析,构建用户画像并预测销售趋势。实践中遇到的大数据量和数据多样性挑战,通过分布式计算和数据标准化解决。未来将继续深入研究Pandas与其他先进技术的结合,提升决策支持能力。
|
4月前
|
存储 数据可视化 数据挖掘
实战案例:Pandas在金融数据分析中的应用
【4月更文挑战第16天】本文通过实例展示了Pandas在金融数据分析中的应用。案例中,一家投资机构使用Pandas加载、清洗股票历史价格数据,删除无关列并重命名,将日期设为索引。接着,数据被可视化以观察价格走势,进行基本统计分析了解价格分布,以及计算移动平均线来平滑波动。Pandas的便捷功能在金融数据分析中体现出高效率和实用性。
|
4月前
|
索引 Python
肝了3天,整理了90个Pandas案例,强烈建议收藏!
肝了3天,整理了90个Pandas案例,强烈建议收藏!
|
10月前
|
Python
Pandas在数据分析中的应用案例
Pandas在数据分析中的应用案例
111 0
|
数据采集 机器学习/深度学习 数据挖掘
使用Python进行数据清洗与预处理:Pandas和NumPy的应用
在数据分析和机器学习的过程中,数据清洗和预处理是非常重要的一步。Python提供了许多强大的库来帮助我们有效地进行数据清洗和预处理。本文将重点介绍两个常用的库:Pandas和NumPy。我们将使用一个实际的数据集来演示如何使用这两个库进行数据清洗和预处理,并展示其在数据分析中的应用。
339 0
下一篇
DDNS