《scikit-learn机器学习常用算法原理及编程实战》—2.4.3 数据访问
【摘要】 本书摘自《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)