【Python数据分析与可视化】Pandas数据载入与预处理-实训

【Python数据分析与可视化】Pandas数据载入与预处理-实训,第1张

【Python数据分析与可视化】Pandas数据载入与预处理-实训

文章目录
  • 【Python数据分析与可视化】Pandas数据载入与预处理-实训
    • 导包
    • 读取数据
    • 分析数据
      • 1、查看数据的描述和统计信息;
      • 2、显示聚餐时间段time的不重复值;
      • 3、修改拼写错误的字段值;
      • 4、检测数据中的缺失值;
      • 5、删除一行内有两个缺失值的数据;
      • 6、删除sex或time为空的行;
      • 7、对剩余有空缺的数据用平均值替换;

导包
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#显示中文标签
plt.rcParams['axes.unicode_minus']=False #显示负号
%matplotlib inline
读取数据
f1=pd.read_excel('tips_mod.xls')
f1.head()
total_billtipsexsmokerdaytimesize
016.99NaNFemaleNoSunDinner2.0
1NaN1.66MaleNoMonDiner3.0
221.01NaNMaleNoSunDier3.0
323.683.31MaleNoSunDiner6.0
4NaN3.61FemaleNoSunDinner4.0
分析数据 1、查看数据的描述和统计信息;
f1.describe()
total_billtipsize
count236.000000236.000000240.000000
mean19.7921613.0180512.566667
std8.8984661.3948680.970126
min3.0700001.0000001.000000
25%13.2775002.0000002.000000
50%17.8150002.9600002.000000
75%24.0650003.6275003.000000
max50.81000010.0000006.000000
2、显示聚餐时间段time的不重复值;
unique_time=f1['time'].unique()
unique_time
array(['Dinner', 'Diner', 'Dier', nan, 'Lunch'], dtype=object)
3、修改拼写错误的字段值;
f1=f1.replace({'Diner':'Dinner','Dier':'Dinner'})
unique_time=f1['time'].unique()
unique_time
array(['Dinner', nan, 'Lunch'], dtype=object)
4、检测数据中的缺失值;
f1_null=f1.isnull().sum()
f1_null
total_bill    8
tip           8
sex           5
smoker        3
day           2
time          5
size          4
dtype: int64
5、删除一行内有两个缺失值的数据;
nan_list=[]
for i,row in f1.iterrows():
    if row.isnull().sum()==2:
        nan_list.append(i)
print(nan_list)
f1.drop(index = nan_list)
f1.isnull().sum()
[16, 23, 27, 42]





total_bill    8
tip           8
sex           5
smoker        3
day           2
time          5
size          4
dtype: int64
6、删除sex或time为空的行;
f1.dropna(subset=['sex','time'],axis=0,how='any',inplace=True)
f1.isnull().sum()
total_bill    6
tip           8
sex           0
smoker        3
day           2
time          0
size          4
dtype: int64
7、对剩余有空缺的数据用平均值替换;
f1['total_bill']=f1['total_bill'].fillna(f1['total_bill'].mean())
f1['tip']=f1['tip'].fillna(f1['tip'].mean())
f1['size']=f1['size'].fillna(f1['size'].mean())
f1.isnull().sum()
total_bill    0
tip           0
sex           0
smoker        3
day           2
time          0
size          0
dtype: int64

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/734181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存