为什么学习pandas 什么是pandas Pandas的基础类型Series的基本语法

首页 » Python » 为什么学习pandas 什么是pandas Pandas的基础类型Series的基本语法

为什么学习Pandas

numpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢?不知道你是否记得,在学习numpy的时候提到过,它能够帮助我们处理的是数值型的数据。在数据分析中除了数值型的数据还有很多其他类型的数据(字符串、时间序列),那么pandas就可以帮我们很好的处理除了数值型的其他数据。

什么是Pandas

pandas中两个常用的类:Series、DataFrame。Series是一种类似与一维数组的对象,由两部分组成:values(一组数据,ndarray类型)、index(相关的数据索引标签)。

Series的基本操作

Series的创建,可以通过列表或numpy数组,也可以通过字典创建。首先我们导入pandas,并且起别名pd:

import pandas as pd
import numpy as np

Series可以理解为一维数组(二维数组就会报错),创建一个Series:

data=pd.Series(data=[1,2,3])
print(data)

0    1
1    2
2    3
dtype: int64 # 数据类型

通过字典创建一个Series类型的数据:

dict_data={
    "王五":1000,
    "李白":9000,
    "钟馗":2000
}
data=pd.Series(dict_data)
print(data)

第一列为索引,使用index可以指定显式索引

data=pd.Series(data=[1,2,3],index=['a','b','c'])  # index用来指定显式索引
print(data)

a    1
b    2
c    3
dtype: int64

隐式索引就是默认的012,显式索引就是我们通过index设置的abc,显式索引不会覆盖隐式索引。

Series的索引和切片

获取数组中某个数据或者多个数据

data=pd.Series(data=[1,2,3,4,5],index=['a','b','c','d','e'])
# 索引操作
print(data[0]) # 获取某个数据
print(data[[0,1,3]]) # 获取多个数据

print(data['a'])  #通过显式索引获取
print(data.a)

获取数组中多个数据可以使用切片操作

# 切片
data[0:3] #用隐式索引切
data['a':'c'] # 用显式索引切

Series的常用属性

data.shape #返回形状
data.size #获取Series数据的个数,也可以使用len(data)
data.index #获取Series数据的显式索引,如果没有就是隐式索引
data.values #获取Series数据的值

计算重复元素出现的次数

list_data=[1,2,4,2,6,7,5,4,2,3,1]
data=pd.Series(list_data)
print(data.value_counts())

# 左边为元素,右边为元素出现的个数
2    3
4    2
1    2
7    1
6    1
5    1
3    1
dtype: int64

判断某个索引值是否存在

data=pd.Series(data=[1,2,3,4,5],index=['a','b','c','d','e'])
print('a' in data)

True

Series的常用方法

data.head(2) # 显示前n个元素
data.tail(2) #显示后n个元素

去重:

data=pd.Series(data=[1,1,2,2,3,4,5])
data.unique() #去重

# array([1, 2, 3, 4, 5], dtype=int64)

data.nunique() # 返回去重之后元素的个数 

检测元素是否为空或非空:

print(data.isnull()) # isnull是用来检测元素是否为空
print(data.notnull()) # notnull是用来检测元素是否是非空

add()加、sub()减、mul()乘、div()除:

法则:索引一致的元素进行算术运算,否则补空

data1=pd.Series(data=[1,2,3],index=['a','b','c'])
data2=pd.Series(data=[1,2,3],index=['a','b','c'])
data=data1+data2
data=data1*data2
data=data1/data2

设定Series对象的name和索引名称

data.name='Hero' # 设定Series对象的name
data.index.name='WZRY'
print(data)

WZRY
王五    1000
李白    9000
钟馗    2000
Name: Hero, dtype: int64

然后是pandas的基础类型DataFrame,参考:Pandas的基础类型DataFrame的基本语法

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《为什么学习pandas 什么是pandas Pandas的基础类型Series的基本语法》 发布于2020-05-11

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

9 + 8 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册