python中数据清洗_dropon

python中数据清洗_dropon实际应用中,在得到原始数据时,经常碰到数据缺失问题,对数据进行加工或清洗就非常有必要了importnumpyasnpfromnumpyimportnanimportpandasaspddata=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list(‘abcd’))print(data)print(data.i…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

实际应用中,在得到原始数据时,经常碰到数据缺失问题,对数据进行加工或清洗就非常有必要了

import numpy as np
from numpy import nan
import pandas as pd
data=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
print(data)
print(data.isnull())   ### 查看data是否有缺失值(空值),False无缺失值
pritn(data.notnull())  ### 查看data是否有缺失值(空值),True无缺失值
输出结果:
    0   1   2   3
a   3   4   5   6
b   7   8   9  10
c  11  12  13  14
d  15  16  17  18
       0      1      2      3
a  False  False  False  False
b  False  False  False  False
c  False  False  False  False
d  False  False  False  False
      0     1     2     3
a  True  True  True  True
b  True  True  True  True
c  True  True  True  True
d  True  True  True  True
print(data.drop('a'))        ### 默认参数axis=0,根据索引(index)删除指定的行
print(data.drop(1,axis=1)    ### axis=1,根据列名(columns)删除指定的列
    0   1   2   3
b   7   8   9  10
c  11  12  13  14
d  15  16  17  18
    0   2   3
a   3   5   6
b   7   9  10
c  11  13  14
d  15  17  18
print(data.drop(index=list('ac')))         ### 删除索引为‘ac’这2行,或print(data.drop(index=['a','c']))
print(data.drop([1,3],axis=1))             ### 删除列名为‘13’这2列
    0   1   2   3
b   7   8   9  10
d  15  16  17  18
    0   2
a   3   5
b   7   9
c  11  13
d  15  17
data.iloc[0:2,0:3]=nan  ### 取data前2行和前3列为空值
print(data)
print(data.isnull())    ### True为有缺失值
      0     1     2   3
a   NaN   NaN   NaN   6
b   NaN   NaN   NaN  10
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
       0      1      2      3
a   True   True   True  False
b   True   True   True  False
c  False  False  False  False
d  False  False  False  False
print(data.dropna())  ### 默认axis=0,how='any',删除带有空值的行,只要有一个空值,就删除整行
      0     1     2   3
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
print(data.dropna(axis=1)) ### axis=1,删除带有空值的列,只要有一个空值,就删除整列
    3
a   6
b  10
c  14
d  18
data=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
print(data)
data.iloc[0:1,:]=nan
data[3]=nan
print(data)
      0     1     2   3
a   NaN   NaN   NaN NaN
b   7.0   8.0   9.0 NaN
c  11.0  12.0  13.0 NaN
d  15.0  16.0  17.0 NaN
print(data.dropna(how='all'))       ### 整行都是空值时,才会被删除
      0     1     2   3
b   7.0   8.0   9.0 NaN
c  11.0  12.0  13.0 NaN
d  15.0  16.0  17.0 NaN
print(data.dropna(how='all',axis=1))    ### 整列都是空值时,才会被删除
      0     1     2
a   NaN   NaN   NaN
b   7.0   8.0   9.0
c  11.0  12.0  13.0
d  15.0  16.0  17.0
### thresh,设定阈值,缺失值个数大于该阈值,整行(axis=0)或整列(axis=1)才会被删除

print(data.dropna(thresh=2)) ### thresh=2,缺失值个数大于2,该行才会被删
      0     1     2   3
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18
print(data.dropna(subset=[1,2]))  ### 删除指定列中包含缺失值的行
      0     1     2   3
c  11.0  12.0  13.0  14
d  15.0  16.0  17.0  18

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192632.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号