就在上一篇,梦想橡皮擦这位博主经过艰苦的努力
终于能创建一个dataframe了
开开心心,打开本 高高兴兴,合上本
学习,多么快乐的事情 不过就是找本书,然后把里面自己认识的单词 都标注上
在那一刻,学会了 或者假装学会了
其实过两天,发现自己啥都忘了
是不是,嘿嘿
今天,那必然是盯着属性学习
啊
其实吧
dataframe特别容易理解
就是一个一个的series排排好
大家一起用索引
吗!
你好好想想
想明白了
那对于dataframe就达到一个很高的境界了
剩下的都不是事
走过路过
这些属性要背过
第一个获取索引
看,上来就是这么简单的
你就这么一猜(说的好像真能猜出来一样@_@)
就知道是index
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吧
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)
结果那么微微一秀
Index(['class1', 'class2', 'class3'], dtype='object')
Index(['boys', 'girls'], dtype='object')
[[1 5]
[2 6]
[3 7]]
毫无瑕疵,都猜对了
为什么能猜对, 因为我们这几天认真学习了
为什么认真学习 因为大佬博客写(bu)的(yao)好(lian)
还有2个属性特别常用
一个叫做size一个叫做shape
都是看dataframe结构的
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()
多么熟悉的画风
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
这两个函数
如果闪过,那么恭喜你,你已经学会融会贯通了
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
print(df.loc['class1'])
print(df.iloc[1])
秀一波结果
boys 1
girls 5
Name: class1, dtype: int64
boys 2
girls 6
Name: class2, dtype: int64
接下来开始弄点不同的
总是和series一样
那就不需要弄个dataframe出来了
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())
学习前,那必然是先看运行结果
<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
把每行都当成一个元组返回
看一下吧
for item in df.itertuples():
print(item)
print(item[1])
结果为
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个函数还是有点意思的
使用的时候,一定要想好了在用
毕竟,一不留神,就用错了
好,简单的函数终于嘚啵完了
你呢,可以边看边练, 也可以只看不练
更可以不看只给我评论
对吧