0 前言
前面介绍使用Python中dfply库中的函数进行数据处理,这一部分对比一下dfply库与pandas库中函数,可以结合自己的喜好,选择不同的实现方式。
1 数据集
这里仍使用diamonds数据集,数据集共53940行,有carat、cut、color、clarity、depth、table、price、x、y、z共10列,对应每个钻石的一些参数值。
from dfply import data
diamonds = data.diamonds
import pandas as pd
import numpy as np
说明:下面“使用dfply库中函数”代码不再运行,运行结果可以查看之前文章(若想执行,添加from dfply import *),这里只加载dfply包中的diamonds数据集,目的介绍使用其他第三方库完成相同的操作。
2 函数对比
2.1 选择列
dfply库中使用select()函数;
pandas库中使用[]、loc[]、iloc[]函数;
选择cut、price、x列
2.2 选择行
dfply库中使用row_slice()函数;
pandas库中使用iloc[]函数;
选择数据集中第11行和第16行数据
##使用dfply库中函数
##diamonds >> row_slice([10,15])
##使用pandas库中函数
diamonds.iloc[[10,15],:]
2.3 抽样
dfply库中使用sample()函数;
pandas库中使用sample()函数;
随机抽取数据集0.0001比例数据,放回抽样:
##使用dfply库中函数
##diamonds >> sample(frac = 0.0001, replace = True)
##使用pandas库中函数
diamonds.sample(frac = .0001)
随机抽取5条记录,不放回抽样:
##使用dfply库中函数
##diamonds >> sample(n = 5, replace = False)
##使用pandas库中函数
diamonds.sample(n = 5, replace = False)
2.4 唯一值
dfply库中使用distinct()函数;
pandas库中使用unique()、drop_duplicates()函数;
cut列类别:
##使用dfply库中函数
##diamonds >> select(X.cut) >> distinct()
##使用pandas库中函数
diamonds['cut'].unique()
##或者
diamonds['cut'].drop_duplicates()
2.5 过滤
dfply库中使用filter_by()或者mask()函数;
pandas库中使用query()函数;
筛选cut为Ideal且price小于337的记录
##使用dfply库中函数
##diamonds >> filter_by(X.cut == 'Ideal', X.price < 337)
##使用pandas库中函数
diamonds.query("cut == 'Ideal' & price < 337")
python培训:http://www.baizhiedu.com/python2019