python数据处理之pandas入门(二)

1、查看缺失值

方法一:df.isunll 是缺失值显示True

import pandas as pd

df = pd.read_excel('测试.xlsx')
print(df.isnull())

在这里插入图片描述
查看每列缺失值的总和:df.isnull().sum()

import pandas as pd

df = pd.read_excel('测试.xlsx',index_col='姓名')
print(df.isnull().sum())

在这里插入图片描述

方法二:查看表格缺失值: df.info()

import panda sas pd
df = pd.read_excel('测试.xlsx',index_col='姓名')
print(df.info())

在这里插入图片描述

2、对缺失值进行助理

方法一:删除缺失行或者列dropna
语法:DataFrame.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
参数说明:
axis=0: 删除包含缺失值的行,默认为axis = 0
axis=1: 删除包含缺失值的列

how: 与axis配合使用
how=‘any’ :只要有缺失值出现,就删除该行或列,默认为how=‘any’
how=‘all’: 所有的值都缺失,才删除行或列

thresh: axis中至少有thresh个非缺失值[控制数量不能大于设定数量],否则删除
比如 axis=0,thresh=3:标识如果该行中缺失值的数量大于3,将删除这一行

subset= [’’,’’] 指定哪个字段中有缺失值,删除缺失,默认为None;

在哪些列中查看是否有缺失值
inplace: 是否在原数据上操作。如果为真,返回None否则返回新的copy,去掉了缺失值

import pandas as pd
df = pd.read_excel('测试.xlsx',index_col='姓名')
print(df.dropna())                                # 删除有空值的行
print(df.dropna(axis=1))                          # 删除有空值的列
print(df.dropna(how='all'))                       # 删除所有值为Nan的行
print(df.dropna(thresh=2))                        # 至少保留两个非缺失值
print(df.dropna(subset=['语文','数学']))           # 在哪些列表中查看

#inplace: 是否在原数据上操作。如果为真,返回None否则返回新的copy,去掉了缺失值

方法二:填充缺失值.fillna
语法:DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
value: scalar, dict, Series, or DataFrame;dict 可以指定每一行或列用什么值填充
method: {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, default None
在列上操作

Method — 填充方式 [ffill / pad: 使用上面的值来填充缺失值];[backfill / bfill :使用下面的值来填充缺失值];[等于EXCEL里面的拖拉数据]
注:如果轴变了,那么左和右就是他的上和下

limit 填充的缺失值个数限制。应该不怎么用

inplace=True直接修改原对象
axis就是轴向

import pandas as pd
df = pd.read_excel('测试.xlsx',index_col='姓名')
print(df.fillna(520,inplace=True))                     # 用520填充所有缺失,inplace=True修改原数据
print(df.fillna({'语文':10,'数学':20,'英语':30}))       # 指定列填充指定内容
print(df.fillna(method='ffill'))                       # 以NaN单元格上面的值来填充NaN

3、查看重复值

重复数据常用函数:
DataFrame[‘字段名’].unique() — 以列表的形式显示唯一值;要输入字段名,不然会报错
DataFrame[‘字段名’].value_counts() — 某个字段中,内容重复出现的次数;
【注意】要输入字段名,不然会报错

import pandas as pd

df = pd.read_excel('测试.xlsx',index_col='姓名')
print(df['语文'].unique())
print(df['语文'].value_counts())

显示语文中出现的唯一值
在这里插入图片描述
语文成绩中,出现的内容的次数
在这里插入图片描述

4、对重复值进行处理:drop_duplicates

方法一:删除重复值;
语法:DataFrame.drop_duplicates(subset=None, keep=‘first’, inplace=False)
subset — 用来指定特定的列,默认是所有列;
keep — 指定处理重复值的方法,默认是 keep = ‘first’
‘first’ — 保留第一次出现的值;
‘last’ — 保留最后一次出现的值;
False — 删除所有重复值,留下没有出现过重复的; Fasle不用加引号
inplace — 是否在原来数据上修改,还是保留一个副本;默认是在原来数据上修改

import pandas as pd

df = pd.read_excel('测试.xlsx',index_col='姓名')
print(df)
print(df.drop_duplicates(subset= ['语文'],keep = False))

在这里插入图片描述

5、离散化和分箱

6、聚合与运算

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值