数据导入与预处理-第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

输出为:


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

热门文章

最新文章