数据处理
导入模块
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
1、聚合操作
创建一个DataFrame对象
-
进行加聚合
字符串类型全部拼接处理,数字类型相加
-
最大值
字符串按ASCII码比较
-
根据行/列进行聚合
根据axis的值
2、重复元素处理
如果某一行不是第一次出现,这一行就是重复
【注意】重复都是对行而言,列不存重复问题
- 检测重复 duplicated()
- 删除重复 drop_duplicates(inplace=True)
3、映射
映射的含义:在一个关系表中,把某些值和某个特定的键绑定在一起,就构成了一个映射
映射的形式:
字典是一种映射:{“a”:123,“b”:456,“c”:145}
函数是一种映射:
def func(a,b): return a+b
lambda x: x+10
3.1 replace函数:替换元素
replace函数,参数是一个映射(这个映射只能用字典来表示)
这个函数会把df中所有的数据都带入到映射中,如果某个数据在映射能够找到对应的键就会被替换成该键对应的值
把所有Bill替换成Rose
- 使用DataFrame方法
把所有Bill替换成Rose
- 使用replace函数方法
把所有的 xiaoming替换成daming Bill替换成Rose 并把成绩为78的成绩改为50
练习: 创建一个张三李四四门考试成绩的表,表中要有几个满分;老师认为满分就是作弊,设置为0
3.2 map函数
map函数,用Series调用,把Series的每一个value都带入到映射中去,然后得出映射的值和对应index构成一个新的Series
创建一个DataFrame对象
把Series的每一个value都带入到映射中去,然后得出映射的值和对应index构成一个新的Series,如果映射中没有对应的值,则用NaN补齐
- 判断哪些人的数学成绩及格(60以上)
- 根据java成绩映射出一个C语言成绩作为一个新的列
C的成绩是java成绩减5分
先根据java映射出一个新的的列
将新的列加入表中
3.3 rename函数
3.4 随机取样
当我们无法研究一个数据群中所有数据时,往往我们会采用随机取样,取出一个随机的样本,用样本的特性来代表总体的特性,这种研究方法叫做随机取样法
创建一个DataFrame对象,包含10000个元素为0~10000的随机数
从以上10000条数据中取出一个100的样本
-
方案一 : 用随机生成的ind切片切出100个
这种方案容易取重复,如果某些数据要求的严谨性高的话行不通 -
方案二
1)把下标0-9999随机打乱
这里随机打乱以后不会出现重复现象
2)从随机打乱的那些索引中切100个即可