===============================================
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):获取从指定列开始的列。
(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
(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
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
#随机挑选10%的行
df = (diamonds >> sample(frac=0.1, replace=False))
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
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