加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

8个Python高效数据说明的能力

发布时间:2018-08-26 04:50:32 所属栏目:教程 来源:Conor Dewey
导读:不管是介入Kaggle角逐,照旧开拓一个深度进修应用,第一步老是数据说明。 这篇文章先容了8个行使Python举办数据说明的要领,不只可以或许晋升运行服从,还可以或许使代码越发美妙。 一行代码界说List 界说某种列表时,写For 轮回过于贫困,荣幸的是,Python有一种
副问题[/!--empirenews.page--]

不管是介入Kaggle角逐,照旧开拓一个深度进修应用,第一步老是数据说明。

这篇文章先容了8个行使Python举办数据说明的要领,不只可以或许晋升运行服从,还可以或许使代码越发“美妙”。

一行代码界说List

界说某种列表时,写For 轮回过于贫困,荣幸的是,Python有一种内置的要领可以在一行代码中办理这个题目。

8个Python高效数据说明的能力

下面是行使For轮回建设列表和用一行代码建设列表的比拟。

  1. x = [1,2,3,4]  
  2. out = []  
  3. for item in x:  
  4.   out.append(item**2)  
  5. print(out)  
  6. [1, 4, 9, 16]  
  7.  
  8. # vs.  
  9.  
  10. x = [1,2,3,4]  
  11. out = [item**2 for item in x]  
  12. print(out)  
  13. [1, 4, 9, 16] 

 Lambda表达式

厌倦了界说用不了屡次的函数? Lambda表达式是你的救星!

Lambda表达式用于在Python中建设小型,一次性和匿名函数工具, 它能替你建设一个函数。

lambda表达式的根基语法是:

lambda arguments: expression

留意!只要有一个lambda表达式,就可以完成通例函数可以执行的任何操纵。

你可以从下面的例子中,感觉lambda表达式的强盛成果:

  1. double = lambda x: x * 2  
  2. print(double(5))  
  3. 10 

Map和Filter

一旦把握了lambda表达式,进修将它们与Map和Filter函数共同行使,可以实现更为强盛的成果。

详细来说,map通过对列表中每个元素执行某种操纵并将其转换为新列表。

在本例中,它遍历每个元素并乘以2,组成新列表。 (留意!list()函数只是将输出转换为列表范例)

  1. # Map  
  2. seq = [1, 2, 3, 4, 5]  
  3. result = list(map(lambda var: var*2, seq))  
  4. print(result)  
  5. [2, 4, 6, 8, 10] 

Filter函数接管一个列表和一条法则,就像map一样,但它通过较量每个元素和布尔过滤法则来返回原始列表的一个子集。

  1. # Filter  
  2. seq = [1, 2, 3, 4, 5]  
  3. result = list(filter(lambda x: x > 2, seq))  
  4. print(result)  
  5. [3, 4, 5] 

Arange和Linspace

Arange返回给定步长的等差列表。

它的三个参数start、stop、step别离暗示起始值,竣事值和步长, 请留意!stop点是一个“截至”值,因此它不会包括在数组输出中。

  1. # np.arange(start, stop, step)  
  2. np.arange(3, 7, 2)  
  3. array([3, 5]) 

Linspace和Arrange很是相似,但略有差异。

Linspace以指定命目匀称支解区间,以是给定区间start和end,以及中分支解点数量num,linspace将返回一个NumPy数组。

这对画图时数据可视化和声明坐标轴出格有效。

  1. # np.linspace(start, stop, num)  
  2. np.linspace(2.0, 3.0, num=5)  
  3. array([ 2.0,  2.25,  2.5,  2.75, 3.0] 

Axis代表什么?

在Pandas中,删除一列或在NumPy矩阵中求和值时,也许会碰着Axis。

我们用删除一列(行)的例子:

  1. df.drop('Column A', axis=1)  
  2. df.drop('Row A', axis=0) 

假如你想处理赏罚列,将Axis配置为1,假如你想要处理赏罚行,将其配置为0。

但为什么呢?

追念一下Pandas中的shape。

  1. df.shape  
  2. (# of Rows, # of Columns) 

从Pandas DataFrame中挪用shape属性返回一个元组,第一个值代表行数,第二个值代表列数。

假如你想在Python中对其举办索引,则行数下标为0,列数下标为1,这很像我们怎样声明轴值。

Concat,Merge和Join

假如您认识SQL,那么这些观念对您来说也许会更轻易。

无论怎样,这些函数本质上就是以特定方法组合DataFrame的方法。

在哪个时刻跟踪哪一个最得当行使也许很坚苦,以是让我们回首一下。

Concat应承用户在表格下面或旁边追加一个或多个DataFrame(取决于您怎样界说轴)。

8个Python高效数据说明的能力

Merge将多个DataFrame归并指定主键(Key)沟通的行。

8个Python高效数据说明的能力

Join,和Merge一样,归并了两个DataFrame。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读