开篇先嘚啵
昨天写到哪了?
睡醒就忘了... ...
不过聪明伶俐的博主,仅用1秒钟就想起来了
我们昨天学了一个pandas的类型series
并且会创建了,厉不厉害
对于一个新的数据结构来说
额,不对,对于python任意的数据结构来说
或者换句话,对于任何对象来说
看我,就没有对象... ...
都有两个内容
一个叫属性,一个叫方法
对象的属性
就是,你长成啥样
你俊俏的鼻子,
帅气的耳朵,
放光的眼睛
绿绿的头发
对象的方法
就是,你能干啥
你能随风奔跑
你能跳过泥坑
你能用手指打98K
你还能跳C哩C
明白了,上面的内容,就好了
什么,不明白
那么,记住对象 . 出来
的不带括号,叫属性
带括号,叫方法
... ...
series的属性
这种问题,一般简单的很
你只要能找到官网
啥都OK
什么,找不到官网?
百度 python pandas
不就行了?
打开之后,咦~!! 这么多
看到没,都是series.xxx
后面没有括号吧,那就是属性喽
常规学习套路,老师会告诉你,这些不用都记住
记住几个常用的就行
恩,很有道理,其实就是嫌弃我的脑容量不够
不过,几个其实我也记不住
机智的我只能靠才华吃饭了
一眼就就看到了几个认识的
我们刚学会声明一个series啊
my_series = pd.Series(data = ['我','是','梦想','橡皮擦'],index=['a','b','c','d'],name='梦想序列')
注意看,里面有几个关键的单词
data
,name
,index
编写代码测试一下
import pandas as pd
my_series = pd.Series(data = ['我','是','梦想','橡皮擦'],index=['a','b','c','d'],name='梦想序列')
print(my_series.index) # 获取索引,返回一个列表
print(my_series.name) # 获取series的名字
print(my_series.data) # 获取数据,返回一个列表
运行之后,还不错,2个对了,不过除了1条警告
大概意思是,看我英语水平
series.data 以后要被移除... ...
哦,也就是不要用了
nice啊,少记一个属性唉~~
继续!
试一下下面的代码吧
print(my_series.values)
print(my_series.shape)
print(my_series.size)
可以整理一下了
常见的一些属性,我们已经整理完毕了
就用这几个吧,
老师说了,多了,咱也记不住
其它的后面做案例,咱在后头看
series的方法
下面捣鼓捣鼓series的一系列方法
最常用也是最基本的,就是获取元素了,
series是一维的
可以用索引获取,昨天的课程中,咱已经尝试过了
那么方法的写法呢?
my_series = pd.Series(data = ['我','是','梦想','橡皮擦'],index=['a','b','c','d'],name='梦想序列')
print(my_series.loc['a'])
print(my_series.iloc[0])
注意这两个的区别,
它们都可以获取到我
但是一个写作loc,一个写作iloc
记住,一个是通过整数索引去获取,一个是通过标签索引去获取
还有,不是小括号哦~中括号
iloc 是 英文 integer-location
索引,一定要区分好
当看到中括号的时候,你就应该考虑切片了
my_series = pd.Series(data = ['我','是','梦想','橡皮擦'],index=['a','b','c','d'],name='梦想序列')
print(my_series.iloc[0:2])
print(my_series.loc['a':'c'])
切片也有区别哦,
loc切的是标签索引,并且包含末尾元素
iloc切的是整数索引,不包含末尾元素
一定要体会用法
当然还有很多其他叫座的用法
如果你学有余力
打开官网,尝试一下吧
http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.iloc.html
http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.loc.html
series的方法,太多太多了
http://pandas.pydata.org/pandas-docs/stable/reference/series.html
看看吧,慢慢学,
应用层面的这些,我给你捣鼓捣鼓
下面在看一个函数
.to_list()
基本上,看其名,知其意了
只不过,官网写差了,竟然给官网找毛病?
这个函数实际写的时候,没有中间的小短线
print(my_series.tolist())
.items()
print(list(my_series.items()))
返回一个索引和值的元素zip,使用list可以打印出来
[('a', '我'), ('b', '是'), ('c', '梦想'), ('d', '橡皮擦')]
.keys()
看到名字,就猜意思,这个钥匙是干啥的?估计跟索引有关系
没错,返回可迭代的index
print(my_series.keys())
>>> Index(['a', 'b', 'c', 'd'], dtype='object')
很多,在写下去,估计就写不完了
分一下类吧
series全部类型的方法
必会简单的
- 构造函数
- 常用属性
方法类型
- 转换类的方法 -- 将 series转换为其他类型
- 索引,迭代器类方法 -- 操作索引,获取各种迭代器
- 二元操作函数 -- 操作两个series函数
- 应用函数,分组函数 -- apply,map,groupby 都是常用的
- 计算函数 -- 求和,最大值,最小值都在这里呢
- 重置索引,选择部分,标签操作函数
- 删除数据函数
- 排序函数
- 合并函数
- 时间序列函数
- 字符串处理
- 作图函数
- IO与序列化函数
好多啊,如果慢慢学,只能去肝了
索引,文档手册怎么查询
英文阅读能力,你都需要提高了哦
最后,欢迎关注一个唠叨的编程工程师的公号,非本科程序员
掏出你的手机,拍这个