<! DOCTYPE HTML>
NumPy와, 팬더는 데이터 정리를 할
청소 NumPy와, 팬더는 null
두 가지 방법이 있습니다
- 데이터의 행 삭제 여기서 널값
- 누락 된 행 또는 삭제하는 열
데이터 판단 방법을 사용 :
ISNULL : 그렇지 않으면 False를 반환, 데이터가 비어 비어있는 경우에 true를 돌려줍니다 여부를 확인하는 방법
NOTNULL : 빈 반환 false의 경우 데이터가 다른 사실, 버리지 여부를 확인하는 방법
어떤 : ISNULL과 분석의 조합
dropna : 빈 행이나 데이터, 축 및 기타 매개 변수의 열에서 삭제 데이터는 1과는 달리, 동작 0을 나타냅니다
fillna : 순방향 충전을 나타내는 'ffill'= 동작 방법에 대한 파라미터 데이터를 작성 'bfill'는 후방 가득 나타내고
실시 예 :
방법 1 :
from pandas import DataFrame,Series
df = DataFrame(data = np.random.randint(0,100,size=(7,5)))
#创建一个7行5列的二维数组
#随机取值从0到100,形式是7行5列的数组
#设置是三个空值
df.iloc[3,4] = None #三行四列的值为空
df.iloc[2,2] = np.nan #设置2行2列的值为NAN
df.iloc[5,3] = None #设置5行3列的值为空
df #panads会自动将None的空值转换成NaN
#清洗空值的两种方式
#方式一删除空所在的行数据
#isnull、notnull、any、all
df.isnull() #用于判断数组内的数据是否为空,如果为空放回True,否则返回False
df.isnull().all(axis=1) #1表示行,0表示列 只有在drop中于此相反
#all是行或列中如果出现False就返回False,只有都是True才返回True
#any是行或者列中如果有一个为True,就返回True
df.isnull().any(axis=1) #1是行,0是列
#将布尔值作为原数据的行索引:保留为True的行数据
df.loc[df.isnull().any(axis=1)] #根据isnull()的判断将有空值的行数据保留
drop_index = df.loc[df.isnull().any(axis=1)].index #提取出存在空值的行索引
df.drop(labels=drop_index,axis=0) #删除所在的行
방법 2 :
df.notnull().all(axis=1) #notnull是判断不为空的返回True,否则返回False
#找出所有有空的行数据
#将布尔值作为行索引
df.loc[df.notnull().all(axis=1)]
#根据notnull的判断进行过滤出不为空的行数据
두 가지 방법의 예 :
#方式二:dropna:可以直接将缺失的行或者列进行删除
df.dropna(axis=0) #在dropna中0表示行,1表示列
drop_duplications (KEEP = 거짓)
데이터의 중복 행을 제거
첫째 = 유지
예약 데이터의 첫 번째 행, 삭제 다른 행
유지 = 지난
데이터의 마지막 행을 유지 다른 중복 데이터를 삭제