《scikit-learn机器学习常用算法原理及编程实战》—2.4.3 数据访问

举报
华章计算机 发表于 2019/05/31 16:23:37 2019/05/31
【摘要】 本书摘自《scikit-learn机器学习常用算法原理及编程实战》一书中的第2章,第2.4.3节,编著是黄永昌 .

2.4.3  数据访问

  Pandas可以方便地对数据进行选择和访问。我们可以通过行索引范围来访问特定几行的数据,这个和Numpy类似。

  

  [IN]: df[3:5]

  [OUT]:

    A         B         C         D

  3 -0.152205 -0.121888 0.841658  -1.493958

  4 0.248414  -0.676985 1.326487  -0.455541

  

  还可以选择列,如选择A、B、D这3列数据:

  

  [IN]: df[['A', 'B', 'D']]

  [OUT]:

    A         B         D

  0 0.968762  1.501239  -0.456468

  1 1.413471  -0.309746 1.536548

  2 -0.399065 -0.040439 -0.318217

  3 -0.152205 -0.121888 -1.493958

  4 0.248414  -0.676985 -0.455541

  5 0.906221  -2.158694 -0.024769

  

  还可以使用DataFrame.loc()函数通过标签来选择某个元素,或使用DataFrame.iloc()函数通过数组索引来访问某个元素。

  

  [IN]: df.loc[3, 'A']

  [OUT]: -0.15220488957687467

  

  [IN]: df.iloc[3, 0]

  [OUT]: -0.15220488957687467

  

  [IN]: df.iloc[2:5, 0:2]

  [OUT]:

    A         B

  2 -0.399065 -0.040439

  3 -0.152205 -0.121888

  4 0.248414  -0.676985

  

  还可以通过布尔值来选择,如可以选择C列里所有大于0的数据所在的行。

  

  [IN]: df[df.C > 0]

  [OUT]:

    A         B         C         D

  1 1.413471  -0.309746 0.407559  1.536548

  2 -0.399065 -0.040439 1.339359  -0.318217

  3 -0.152205 -0.121888 0.841658  -1.493958

  4 0.248414  -0.676985 1.326487  -0.455541

  

  可以很方便地对数据进行修改,如可以添加一列,列名为TAG。

  

  [IN]: df["TAG"] = ["cat", "dog", "cat", "cat", "cat", "dog"]

  [OUT]:

    A         B         C         D         TAG

  0 0.968762  1.501239  -0.284952 -0.456468 cat

  1 1.413471  -0.309746 0.407559  1.536548  dog

  2 -0.399065 -0.040439 1.339359  -0.318217 cat

  3 -0.152205 -0.121888 0.841658  -1.493958 cat

  4 0.248414  -0.676985 1.326487  -0.455541 cat

  5 0.906221  -2.158694 -0.201354 -0.024769 dog

  

  接着可以根据TAG列做分组统计。

  

  [IN]: df.groupby('TAG').sum()

  [OUT]:

      A         B         C         D

  TAG

  cat 0.665906  0.661926  3.222551  -2.724184

  dog 2.319691  -2.468440 0.206205  1.511778


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。