python从2 1 2 2 2 63_Python从零开始第三章数据处理与分析python中的dplyr(2)

目录

第二章(pandas)

Python从零开始第三章数据处理与分析python中的dplyr(2)

===============================================

filter/select功能

select和drop函数在数据处理中很有用,可以轻松地选择和删除列。这些功能旨在select和drop功能,并可与〜一起使用。

首先,快速了解可用功能:

starts_with(prefix):查找以字符串前缀开头的列。

ends_with(suffix):查找以字符串后缀结尾的列。

contains(substr):查找名称中包含子字符串的列。

everything():所有列。

columns_between(start_col,end_col,inclusive = True):查找指定的开始列和结束列之间的列。包含性布尔关键字参数指示是否应包含结束列。

columns_to(end_col,inclusive = True):获取指定结束列的列。包含参数指示是否应包括结束列。

columns_from(start_col):获取从指定列开始的列。

starts_with()

(diamonds >>

select(starts_with('c')) >>

head(2))

Out[5]:

carat cut color clarity

0 0.23 Ideal E SI2

1 0.21 Premium E SI1

diamonds >> select(~starts_with('c')) >> head(2)

depth table price x y z

0 61.5 55.0 326 3.95 3.98 2.43

1 59.8 61.0 326 3.89 3.84 2.31

contains()

(diamonds >>

select(contains('c')) >>

head(2))

Out[18]:

carat cut color clarity price

0 0.23 Ideal E SI2 326

1 0.21 Premium E SI1 326

columns_from()/columns_to()/columns_between()/columns_between()

diamonds >>head(2)

Out[38]:

carat cut color clarity depth table price x y z

0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43

1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31

diamonds >> select(columns_to(X.price)) >> head(2)

Out[39]:

carat cut color clarity depth table

0 0.23 Ideal E SI2 61.5 55.0

1 0.21 Premium E SI1 59.8 61.0

diamonds >> select(columns_from(X.table)) >> head(2)

Out[40]:

table price x y z

0 55.0 326 3.95 3.98 2.43

1 61.0 326 3.89 3.84 2.31

diamonds >> select(columns_between(X.carat,X.table)) >> head(2)

Out[41]:

carat cut color clarity depth table

0 0.23 Ideal E SI2 61.5 55.0

1 0.21 Premium E SI1 59.8 61.0

diamonds >> select(columns_between(X.carat,X.table)) >> head(2)

Out[42]:

carat cut color clarity depth table

0 0.23 Ideal E SI2 61.5 55.0

1 0.21 Premium E SI1 59.8 61.0

row_slice()

可以使用row_slice()函数选择切片行。 可以传递单个整数索引或索引列表来选择行。 这与使用pandas包的的.iloc功能相同。

diamonds >> row_slice([10,15])

carat cut color clarity depth table price x y z

10 0.30 Good J SI1 64.0 55.0 339 4.25 4.28 2.73

15 0.32 Premium E I1 60.9 58.0 345 4.38 4.42 2.68

sample

sample()函数的功能与DataFrames的pandas.sample()方法完全相同。

diamonds >> sample(frac=0.0001, replace=False)

carat cut color clarity depth table price x y z

19736 1.02 Ideal E VS1 62.2 54.0 8303 6.43 6.46 4.01

37159 0.32 Premium D VS2 60.3 60.0 972 4.44 4.42 2.67

1699 0.72 Very Good E VS2 63.8 57.0 3035 5.66 5.69 3.62

20955 1.71 Very Good J VS2 62.6 55.0 9170 7.58 7.65 4.77

5168 0.91 Very Good E SI2 63.0 56.0 3772 6.12 6.16 3.87

diamonds >> sample(n=3, replace=True)

carat cut color clarity depth table price x y z

52892 0.73 Very Good G SI1 60.6 59.0 2585 5.83 5.85 3.54

39454 0.57 Ideal H SI2 62.3 56.0 1077 5.31 5.28 3.30

39751 0.43 Ideal H VVS1 62.3 54.0 1094 4.84 4.85 3.02

distinct()

选择唯一行是使用distinct()完成的。

diamonds >> distinct(X.color)

carat cut color clarity depth table price x y z

0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43

3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63

4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75

7 0.26 Very Good H SI1 61.9 55.0 337 4.07 4.11 2.53

12 0.22 Premium F SI1 60.4 61.0 342 3.88 3.84 2.33

25 0.23 Very Good G VVS2 60.4 58.0 354 3.97 4.01 2.41

28 0.23 Very Good D VS2 60.5 61.0 357 3.96 3.97 2.40

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值