加载数据
首先,我们需要加载到所需要的数据,这里我们所需要的数据是同过sample函数采样过来的。
import pandas as pd #这里说明一下,clean_beer.csv数据有两千多行数据 #所以从其中采样一部分,来进行演示,当然可以简单实用data.head()也可以做练习 data = pd.read_csv('clean_beer.csv') data_sam = data.sample(frac=0.1,weights=data['ounces'].values) data_sam1 = data_sam data_sam
我们采用data[‘ounces’]列为权重对数据进行采样,并将结果赋值给data_sam1,其中data_sam和data_sam1是后续我们需要用到的两个数据(因为需要将两个数据合并,并去除重复)
此时,data_sam和data_sam1的数据是一样的。
data_sam数据
data_sam
sample抽样函数
简要介绍一下sample函数
df.sample()就是抽样函数,参数如下:
df.sample(n=None,frac=None,replace=Flase,weights=<p style="color:transparent">本文来源gao!daima.com搞$代!码网</p>None,random_state=None,axis=None)
参数说明:
**n:**就是样本量,如果不写,就是抽一条数据
**frac:**抽样比,就是样本量占全样本的比例,如frac=0.3 ,注意n和frac不能共存
replace:是否放回,默认是不放回,如果有放回(replace=True)可以选择比df长度更多的元素回来
weights:样本权重,自动归一化,可以以某一列为权重
random_state:随机状态。就是为了保证程序每次运行得到的结果都一样
axis:抽样维度,0是行,1是列,默认为0
指定需要更新的值
接下来,我们对data_sam1的值进行更新,主要是将data_sam1的ounces属性列值加上后缀’.0 oz’,具体代码如下:
data_sam1['ounces'] = data_sam1['ounces'].astype('str') + '.0 oz' data_sam1
对data_sam1的值进行显示,其中我们可以看到,ounces的值已经全部加上了我们所指定的后缀:
现在,我们已经得到的新的值,接下来的目标就是如何将我们已经得到的新值,更新到data_sam中
append直接添加
从标题可以看到,我们使用的是append方法进行直接添加。
data_sam = data_sam.append(data_sam1,ignore_index=True) data_sam