Python数据分析与可视化Pandas数据载入与预处理(实训三)

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据分析与可视化Pandas数据载入与预处理(实训三)相关的知识,希望对你有一定的参考价值。

小费数据预处理

import pandas as pd
import numpy as np
fdata=pd.read_excel('tips_mod.xls')
fdata.head()
Unnamed: 0消费总额小费性别是否抽烟星期聚餐时间段人数
0016.991.01FemaleNoSunDinner2
1110.341.66MaleNoSunDinner3
2221.013.50MaleNoSunDinner3
3323.683.31MaleNoSunDinner2
4424.593.61FemaleNoSunDinner4
#规格大小
print(fdata.shape)
# 描述信息
fdata.describe()
(244, 8)
Unnamed: 0消费总额小费人数
count244.000000244.000000244.000000244.000000
mean121.50000019.7859432.9982792.569672
std70.5809238.9024121.3836380.951100
min0.0000003.0700001.0000001.000000
25%60.75000013.3475002.0000002.000000
50%121.50000017.7950002.9000002.000000
75%182.25000024.1275003.5625003.000000
max243.00000050.81000010.0000006.000000
# 显示用餐时间time的不重复值
fdata['聚餐时间段'].unique()
array(['Dinner', 'Lunch'], dtype=object)
# 修改拼写错误的字段
fdata.ix[fdata['聚餐时间段']=='Diner','time']='Dinner'
fdata.ix[fdata['聚餐时间段']=='Dier','time']='Dinner'
fdata['聚餐时间段'].unique()
D:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: FutureWarning: 
.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing

See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
  
D:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:3: FutureWarning: 
.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing

See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
  This is separate from the ipykernel package so we can avoid doing imports until





array(['Dinner', 'Lunch'], dtype=object)
# 检测数据中的缺失值
fdata.isnull().sum()
Unnamed: 0      0
消费总额            0
小费              0
性别              0
是否抽烟            0
星期              0
聚餐时间段           0
人数              0
time          244
dtype: int64
# 删除一行内有两个缺失值的数据
fdata.dropna(thresh=6,inplace=True)
fdata.isnull().sum()
Unnamed: 0      0
消费总额            0
小费              0
性别              0
是否抽烟            0
星期              0
聚餐时间段           0
人数              0
time          244
dtype: int64
# 删除性别或者聚餐时间为空的行
fdata.dropna(subset=['性别','聚餐时间段'],inplace=True)
fdata.isnull().sum()
Unnamed: 0      0
消费总额            0
小费              0
性别              0
是否抽烟            0
星期              0
聚餐时间段           0
人数              0
time          244
dtype: int64
# 对剩余空缺的数据用平均值替代
fdata.fillna(fdata.mean(),inplace=True)
fdata.isnull().sum()
Unnamed: 0      0
消费总额            0
小费              0
性别              0
是否抽烟            0
星期              0
聚餐时间段           0
人数              0
time          244
dtype: int64

加油!

感谢!

努力!

以上是关于Python数据分析与可视化Pandas数据载入与预处理(实训三)的主要内容,如果未能解决你的问题,请参考以下文章

Python+pandas+matplotlib数据分析与可视化案例

Pandas与Matplotlib基础

python数据可视化案例——平行坐标系(使用pyecharts或pandas)

《Python开发 - Python库》PandasGUI安装与使用(数据可视化分析工具)

《Python开发 - Python库》PandasGUI安装与使用(数据可视化分析工具)

Pandas高级数据分析快速入门之三——数据挖掘与统计分析篇