Panads
介绍
Pandas通常是用于数据分析过程中, 数据的清洗, 数据预处理, 数据的描述性分析等过程中.
在整个Python数据分析的生态环境中, Pandas的地位非常重要, 利用Pandas可以快速便捷的对数据进行各种各样的处理与操作.
Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。
在Pandas中, 最重要的两种数据结构是1维的Series和2维的DataFrame.
Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。
Series中能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。但是每个Series中只能保存一种数据结构.
DataFrame:二维的表格型数据结构。有多个Series共同构成的集合就变成DataFrame.
Pandas是基于Numpy的一个数据分析包, 它里面的内核是Numpy
Series
Series 是一个带有 名称 和 索引 的一维数组
既然是数组,肯定要说到的就是数组中的元素类型,在 Series 中包含的数据类型可以是整数、浮点、字符串、Python对象等。
import numpy as np
import pandas as pd
pd.Series(data)
扩展:
s = pd.Series(data ,name='英雄年龄' , index= ['蜘蛛侠', '灭霸', '奇异博士', '钢铁侠', '蝙蝠侠', '索尔'],dtype='int32')
s
蜘蛛侠 22 灭霸 3000 奇异博士 33 钢铁侠 37 蝙蝠侠 40 索尔 1500 Name: 英雄年龄, dtype: int32
字典构建Series:
d = {'粤菜': 3,
"川菜": 2 ,
"鲁菜": 1,
"闽菜": 4,
"苏菜": 5}
pd.Series(d)
Series的索引和切片
1.字典式索引:同字典的方法,注意:闭区间,可以增加和修改
2.列表式:同列表,注意:左闭右开,可以修改但是不能增加
字典式索引和列表式:只能用于步长一样的提取。
3.传入索引序列的方式:既可以用标签, 也可以用位置,把你要提取的数据的标签或位置打包成一个序列,注意事项: 必须打包再传递。
标签:s[ ['蜘蛛侠', '灭霸', '蝙蝠侠'] ]
位置:s[ [0, 1, -1] ]
删除数据
df.pop()可以弹出指定数据
df.drop() 可以删除指定数据:
重要参数: inplace:
(默认)设置为假, 会生成一个新的数据, 原来的数据不变.
当设置为真的时候, 会直接在原数据中进行操作
思考: 我们什么时候用假, 什么时候用真?
用假的情形:
做一些操作测试, 还没有最终确定要进行这个操作, 就可以用inplace=False.为了以防万一, 保留原来的数据, 同时生成一个新的继续操作.
用真的情况:
我们已经可以确定这个操作没有问题, 就是要在原数据上修改.
两者最大的区别:
对内存的使用效率, 占用4G的内存,
如果是假, 就会复制一个新的4G内存数据, 占用内存更多.
如果是真, 直接在原数据上操作, 仍然是只占用4G内存.
思考: 什么时候用标签索引(显式), 什么时候用位置索引(隐式).
当你知道标签是什么, 想要提取数据的时候就用标签索引.
提取红塔证券的.
当你知道的是数据在表中的位置的时候, 就用位置索引.
举例: 提取数据中的第100个到第200个.
Series计算:与adarray相同
暂无数据