Python数据分析实战笔记—Pandas库简介(1)

本文是《Python数据分析实战》笔记的第一部分,主要介绍Pandas库及其核心数据结构Series。Pandas是Python数据分析的重要库,提供丰富的数据处理工具。文章详细讲解了Series的创建、索引、元素选择、赋值、运算和筛选,以及如何将其视为字典进行操作。此外,还介绍了与Numpy数组的交互和处理NaN值的方法。
摘要由CSDN通过智能技术生成

《Python数据分析实战》

1.Pandas:Python数据分析库

Pandas是一个专门用于数据分析的开源Python库。它能够以最简单的方式提供数据处理、数据抽取和数据操作所需的全部工具。

Pandas还有专门为数据分析设计的两个数据结构,Series和DataFrame。

Numpy主要是处理矩阵/数组。

2.Pandas数据结构—Series对象

pandas库的Series对象用来表示一维数据结构,跟数组类似,但多了一些额外的功能,每个元素都有与之相关联的索引,被存储在一个Index的数组中。

声明Series对象:

调用Series()构造函数,可以把数据以元组/数组形式传入,就能创建一个Serise对象。同时可以进行指定Index选项。

import numpy as np
import pandas as pd

s = pd.Series((1,2,3,4))
s
>> 0    1
1    2
2    3
3    4
dtype: int64

s = pd.Series([1,2,3,4],index=['a','b','c','d'])
s
>> a    1
b    2
c    3
d    4
dtype: int64

如果想查看组成Series对象的两个数组,可像下面这样调用它的两个属性:index(索引)和value(元素)。

s.value
>> array([1, 2, 3, 4], dtype=int64)
s.index
>> Index(['a', 'b', 'c', 'd'], dtype='object')

选择内部元素:

#通过索引index
s
>> a    1
b    2
c    3
d    4
dtype: int64

s[1]
>> 2
s['b']
>> 2

#从Numpy数组中选择多个元素
s[0:2]
>> a    1
b    2
dtype: int64

s[['b','c']]
>> b    2
c    3
dtype: int64

Numpy数组中选择多个元素的方法可以通过类似切片的方法,或者通过使用元素对应的标签,只不过要把标签放到数组中。

为元素赋值:

s
>> a    1
b    2
c    3
d    4
dtype: int64

s[0] = 0
s['b'] = 1

s
>>  a    0
b    1
c    3
d    4
dtype: int64

用Numpy数组或其他Series对象定义新Series对象:

#1.通过Numpy数组创建Series对象
arr1 = np.array((1,2,3))
arr2 = np.array([4,5,6])

s1 = pd.Series(arr1)
s2 = pd.Series(arr2)

s1
>> 0    1
1    2
2    3
dtype: int32

s2
>> 0    4
1    5
2    6
dtype: int32

#2.通过字典创建Series对象,相当于同时指定索引了。
s3 = pd.Series({
  '1':1,'2':2,'3':3})
s3
>> 1    1
2    2
3    3
dtype: int64

#通过Series创建Series对象
s
>> a 12
b   1
c   7
d   9
dtype:int64

s4 = pd>series(s)
>>  a 12
b   1
c   7
d   9
dtype:int64

然而,这样做时不要忘记新Series对象中的元素不是原Numpy数组或Series对象元素的副本,而是对它们的引用。也就是说,这些对象时动态插入到新Series对象中。如改变原有对象元素的值,新Series对象中的这些元素也会发生改变。

附注:Numpy新建一个数组的方法:1.单层或嵌套列表 2.单层或嵌套元组 3.元组和列表混合组成的列表 4.np.arange(0,10)或np.arange(0,10,2)方法。

筛选元素:

pandas库的开发时以Numpy库为基础的,因此就数据结构而言,Numpy数组的多种操作方法得以扩展到Series对象中,其中就有根据条件筛选数据结构中的元素这一方法。

#numpy中
b = np.array([1,2,3,4,5,6,7,8,9])
b[b>4]
>> array([5, 6, 7, 8, 9])

#Series中
s
>>0    12
1     4
2     7
3     9
dtype: int32

s[s>8]
>> 0    12
3     9
dtype: 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值