基于python代码的数据科学导引学习笔记(一)

1.说明

  1. 该学习笔记仅供个人学习使用,不代表任何官方指导或意见。
  2. 如侵权,请练习删除。
  3. 有需要其他资料或有其他问题可私信或者加qq2356081476,这不是我的义务但也欢迎各位朋友与我讨论相关问题,共同进步。
  4. 错字,语法,排版等问题请见谅。

2.数据预处理

2.1.数据初步诊断与探索

(1)读取数据

  • 用pandas库读取csv文件challenge.csv
  • 提取该数据集的字段名称,存为cols
  • 提取该数据集的字段和样本数量,分别存为col_num,sam_num
  • 获取数据集的前五行,将最后的DataFrame存为five_data
import pandas as pd

data = pd.read_csv("chanllenge.csv")	#读取文件
cols = list(data.columns)		#获取字段名称(列名)
col_num = len(cols)			#获取字段数量(列数)
sam_num = data.shape[0]			#获取样本数量
five_data = data.head()			#获取样本前五行

讲一下sam_num = data.shape[0]five_data = data.head()这两句:

  • DataFrame.shape返回DataFrame对象(此例中的data)的形状的一个元组,比如说(2,3)就表示DataFrame对象有2行3列。这里再加一个[0]表示索引第一个的值,就是行的值,也就是我们需要的“样本数量”了。
  • DataFrame.head()函数,这里面其实有一个参数n,默认等于5就不写了,获取样本前五行。如果five_data = data.head(n = 10)就是获取样本前十行。

(2)正态检验

  • 使用numpy库生成服从均匀分布的一维数据集,样本容量100
  • 使用scipy库中的stats模块,对生成的数据进行正态检验,将检验的结果存为model
  • 提示:可以使用kstest()函数实现此功能。
import numpy as np
from scipy.stats import stats

test_data = np.random.random(size = 100)
model = stats.kstest(test_data,'norm')		#正太检验

讲一下scipy库、kstest()函数和np.random模块:

  • scipy库,是一个高级科学计算库,基于numpy,增加的功能包括数值积分、最优化、统计和一些专用函数。
  • kstest就是scipyku下stats模块(统计相关模块)的一个函数,用来检测样本是否服从某种分布。如model = stats.kstest(test_data,'norm')中kstest这里有两个参数,一个就是我们的数据(样本),另外一个是我们要看数据是否符合的分布。norm表示标准正态分布,还有其他不作介绍了。kstest还有其他参数也不多做介绍。
  • numpy库random模块下的random()函数,生成一个ndarray对象,类似于列表或者说矩阵,参数size=100返回一个ndarray数组,长度为100,若以列表的形式给出参数size如size = [100,20]则返回的ndarray的形状(shape)属性就是(100,20)表示有100行,20列

2.2.缺失值处理和离群值检测

(1)缺失值处理

  • 已使用pandas生成series对象example_data
  • 使用isnull()函数确定example_data是否含有缺失值,将结果存为boolean_array
  • 使用fillna()函数使用字符串missing替换缺失值,将替换后的series对象存为呢哇_data
import pandas as pd

example_data = pd.Series([1,2,3,np.nan,4])
boolean_array = pd.isnull(example_data)
new_data = example_data.fillna('missing')

(2)均值填充

  • 已给出DataFrame对象data
  • 用缺失值均值填充的方法填充data中的缺失数据,结果存为new_data
new_data = data.fillna(data.mean())

2.3.常用的数据转换方法

(1)Min-Max标准化

  • 现已使用numpy读取数据集birthrate.csv
  • 获取该数据集第二列birth_rates的最大值和最小值
  • 根据Min-Max标准化的数学公式,将特征birth_rates映射到区间[0,1]之中,并将结果存为minmax_scaling_data

Min-Max标准化的数学公式:
f i ′ = f i − f m i n f m a x − f m i n f'_i=\frac{f_i - f_{min}}{f_{max}-f_{min}} fi=

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值