数据分析之数据处理(1)

引言:本文讲解数据合并、删除、替换、去重,给空值数据赋值

1、导包、导入数据

#coding=utf-8

import numpy as np
import pandas as pd
from pandas import DataFrame
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

abb=pd.read_csv("./state-abbrevs.csv")
area=pd.read_csv("./state-areas.csv")
pop=pd.read_csv("./state-population.csv")

2、数据合并:合并人口和各州简称

abb_pop=pd.merge(abb,pop,left_on="abbreviation",right_on="state/region",how="outer")

pd.merge的详细用法

3、删除数据

abb_pop.drop(labels="abbreviation",axis=1,inplace=True) #原始数据中操作

4、数据去重

#找到有哪些state/region使得state的值为NaN (state 中的空值对应的简称找到,并对简称进行去重)
abb_pop.head()
#思路,先找到空数据 再取简称
#1 将state中的空值定位到
abb_pop['state'].isnull()
#2 将上述布尔值作为源数据的行索引
abb_pop.loc[abb_pop['state'].isnull()] #将state中对应的行数据取出
#3 将简称取出
abb_pop.loc[abb_pop['state'].isnull()]['state/region']
#4 对简称去重
abb_pop.loc[abb_pop['state'].isnull()]['state/region'].unique()

结果展示:
在这里插入图片描述
在这里插入图片描述

5、给空值数据赋值

# 将USA全称赋值
#为找到的这些state/region的state项补上正确的值,从而去除掉state这一列的所有NaN
#填充 fillna?   此处不可以,fillna可以使用空的近邻值做填充。fillna(value="xxx")使用指定的值进行填充
#使用给元素赋值的方式进行填充
#1 先给USA的对应空值进行批量赋值
#1.1 先找到USA对应的行数据找出来(行数据中就存在state的空值)
abb_pop['state/region']=='USA' #一旦出现布尔值就转换成原数据的行索引
abb_pop.loc[abb_pop['state/region']=='USA']
#1.2 获取USA对应的全称空  对应的行索引取出
indexs=abb_pop.loc[abb_pop['state/region']=='USA'].index
abb_pop.iloc[indexs]
abb_pop.loc[indexs,'state']="United States"
abb_pop

结果展示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值