前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >“戏精少女”的pandas学习之路,你该这么学!No.5

“戏精少女”的pandas学习之路,你该这么学!No.5

作者头像
梦想橡皮擦
发布2019-06-14 21:08:48
3800
发布2019-06-14 21:08:48
举报
文章被收录于专栏:Python3爬虫100例教程

如果文章图片无法观看,请前往CSDN博客观看 https://blog.csdn.net/hihell

戏精博主即将上线

就在上一篇,梦想橡皮擦这位博主经过艰苦的努力

终于能创建一个dataframe了

开开心心,打开本 高高兴兴,合上本

学习,多么快乐的事情 不过就是找本书,然后把里面自己认识的单词 都标注上

在那一刻,学会了 或者假装学会了

其实过两天,发现自己啥都忘了

是不是,嘿嘿

昨天我们已经手撕了dataframe的创建与简单获取

今天,那必然是盯着属性学习

其实吧

dataframe特别容易理解

就是一个一个的series排排好 大家一起用索引吗!

你好好想想

想明白了

那对于dataframe就达到一个很高的境界了

剩下的都不是事

常见属性盘点

走过路过

这些属性要背过

第一个获取索引 看,上来就是这么简单的

你就这么一猜(说的好像真能猜出来一样@_@)

就知道是index

代码语言:javascript
复制
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
print(df.index)

>>> Index(['class1', 'class2', 'class3'], dtype='object')

接下来咱在获取一个columns和values吧

代码语言:javascript
复制
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
print(df.index)
print(df.columns)
print(df.values)

结果那么微微一秀

代码语言:javascript
复制
Index(['class1', 'class2', 'class3'], dtype='object')
Index(['boys', 'girls'], dtype='object')
[[1 5]
 [2 6]
 [3 7]]

毫无瑕疵,都猜对了

为什么能猜对, 因为我们这几天认真学习了

为什么认真学习 因为大佬博客写(bu)的(yao)好(lian)

还有2个属性特别常用

一个叫做size一个叫做shape

都是看dataframe结构的

代码语言:javascript
复制
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])

print(df.size)
print(df.shape)

size得到的结果是6,表示总共有6个数据才dataframe里面 shape得到的结果是 (3, 2) 表示dataframe是一个3行2列的矩阵

看,就这么厉害,数学概念顺口就来

矩阵... ...

打开官网一看,咦,还有好多属性呢

不用慌,不用忙 你的时间非常值钱,先不用死磕 (其实很容易死磕迷糊了)

在学习几个简单的函数,就收工

你看,外面太阳正当头,正是学习的好时候啊

咱顺手就学几个简单的函数

第一个 head() tail()

多么熟悉的画风

代码语言:javascript
复制
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])

print(df.head(1))
print(df.tail(2))

试试吧,head获取头部,tai获取尾部,跟series一样的

到这时候,你是不是应该脑中一抖

是不是会出现loc,iloc这两个函数

如果闪过,那么恭喜你,你已经学会融会贯通了

代码语言:javascript
复制
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])

print(df.loc['class1'])
print(df.iloc[1])

秀一波结果

代码语言:javascript
复制
boys     1
girls    5
Name: class1, dtype: int64
boys     2
girls    6
Name: class2, dtype: int64

接下来开始弄点不同的

总是和series一样

那就不需要弄个dataframe出来了

代码语言:javascript
复制
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])


print(df.items())
print(df.keys())

print(df.iteritems())
print(df.iterrows())
print(df.itertuples())

学习前,那必然是先看运行结果

代码语言:javascript
复制
<generator object DataFrame.iteritems at 0x000001E37ED4EC50>
Index(['boys', 'girls'], dtype='object')
<generator object DataFrame.iteritems at 0x000001E37ED4EC50>
<generator object DataFrame.iterrows at 0x000001E37ED4EC50>
<map object at 0x000001E30C371400>

5个函数对应5个结果

注意到1和3好像一样唉~ 不用猜了,他们两个就是一样的 都是返回 Iterator over (column name, Series) pairs.

咦,这句英文啥意思?

大白话,就是返回一个 元组迭代器

看看结果

体会啊,这个地方用心体会

第二个函数keys返回的就是索引啦

第四个函数iterrows返回的行,跟 iteritems 是对应的

第五个函数itertuples把每行都当成一个元组返回

看一下吧

代码语言:javascript
复制
for item in df.itertuples():
    print(item)
    print(item[1])

结果为

代码语言:javascript
复制
Pandas(Index='class1', boys=1, girls=5)
1
Pandas(Index='class2', boys=2, girls=6)
2
Pandas(Index='class3', boys=3, girls=7)
3

恩,这5个函数还是有点意思的

使用的时候,一定要想好了在用

毕竟,一不留神,就用错了

好,简单的函数终于嘚啵完了

你呢,可以边看边练, 也可以只看不练

更可以不看只给我评论

对吧

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如果文章图片无法观看,请前往CSDN博客观看 https://blog.csdn.net/hihell
  • 戏精博主即将上线
  • 昨天我们已经手撕了dataframe的创建与简单获取
  • 常见属性盘点
  • 在学习几个简单的函数,就收工
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档