前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python从零开始第三章数据处理与分析①python中的dplyr(2)目录

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

作者头像
用户1359560
发布2019-01-03 15:50:28
5260
发布2019-01-03 15:50:28
举报
文章被收录于专栏:生信小驿站生信小驿站

目录

第二章(pandas)

Python从零开始第三章数据处理与分析①dplyr风格的python代码
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功能相同。
#随机挑选10%的行
df = (diamonds >> sample(frac=0.1, replace=False))
  • 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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.12.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
    • 第二章(pandas)
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档