Pandas入门

本文介绍了Pandas的两种核心数据类型——Series和DataFrame。Series类似于带标签的一维数组,支持索引、切片及CRUD操作。DataFrame则类似Excel表格,由多列组成,每列数据类型可不同。文章详细讲解了DataFrame的创建、属性、操作、排序以及统计方法,帮助初学者深入理解这两个数据结构。
摘要由CSDN通过智能技术生成

panadas提供两个常用的数据类型:Series、Dataframe

一、Series

pandas的数据类型,有index和value
Series类型类似于Numpy的一维数组对象,可以将该类型看做事一组数据与数据相关的标签(索引)联合而构成(带有标签的一维数组对象)。

# 通过列表创建
# Series使用类似字典的方式,进行存储,其中,标签就是字典的key,数据就是字典的value
s1 = pd.Series([1,2,3,4])
0    1
1    2
2    3
3    4
dtype: int64

s1.values
array([1, 2, 3, 4], dtype=int64)

s1.index
RangeIndex(start=0, stop=4, step=1)

s2 = pd.Series(np.arange(10))

# 通过字典的形式创建
s3 = pd.Series({
   '1':1, '2':2, '3':3})
s3.values
array([1, 2, 3], dtype=int64)
# index就是字典的key
s3.index
Index(['1', '2', '3'], dtype='object')

# 可以指定index,如果index数大于value,value会广播,没有指定,自动生成0,1,2
s4 = pd.Series([1,2,3,4], index=['A','B','C','D'])
A    1
B    2
C    3
D    4
dtype: int64
s4['A'] # 1

s4.to_dict() # 转换为字典
s4[s4>2]
C    3
D    4
dtype: int64

# 也可以创建一个Index对象,传入给index参数(创建Series时)
# 当多个series需要相同的index时,就是用这种方式
index_1 = ['A','B','C','D','E']
s6 = pd.Series(s4, index=index_1)
A    1.0
B    2.0
C    3.0
D    4.0
E    NaN
dtype: float64

# values类似于字典的values方法(这里是属性)返回series中的相关数据
s.values    # 值
s.shape    # 数据形状
s.size     # 数据个数
s.dtype

ones = pd,Series([1,2,3,float("NaN"), None, np,nan])
pd.isnull(s6)
0    False
1    False
2    False
3    True
4    True
5    True
dtype: bool
pd.notnull(s6)

# Series的name属性可以通过创建Series时,指定name的参数来设置
# name是Series的属性,其作用不仅仅体现在输出中
s=pd.Seriex([1,2,3], index=[5,7,7], name='Seriex的name属性的名字')
my_index = pd.Index([1,2,3], name='Index的name属性的名字')
s6.name = 'demo' # 给Series取名字
s6.index.name = 'demo index' # 给Series index取名字

# head与tail
# 最多显示前n/后n个数据,如果没有给定参数,则参数值迷人为5.
s.head()
s.tail()

# Series只支持一维的数据结构
# ndarry与Series都可以通过索引来访问元素,但是二者是有区别的,对于ndarry类型与裂变的形式,是基于位置进行的访问,在创建对象后,每个元素的位置固定了,我们不能自行去改变元素的索引。
# 对于Series,类似于字典的形式,是基于key值进行访问元素的,我们可以自行去改变(指定)key值。

# Series也能进行标量或矢量化运算,但是Sreies的规则与ndarry是不太相同的。
#对于ndarry,时进行对位的计算(根据元素的位置进行计算),对于Series会根据索引进行对齐计算,如果索引无法进行匹配,则会产生空值(NaN)	
s + s2
# 同时,Series提供了用于计算的方法,例如add,multiply等,方法没有运算符简便,但是,方法可以提供更多的行为,可以指定fill_value参数,当索引无法匹配时,使用fill_value进行填充。
s.add(s2, fill_value=100)

# ndarry提供的统计函数,rum,mean等,也适用于Sreies类型。
# ndarry数组与Series在计算时,对控制的处理不太相同,对于ndarry数组会产生空值,对于Serise,会忽略空值。
s = pd.Series(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pandas是一种基于NumPy的数据分析工具,它可以帮助我们对数据进行清洗、编辑和分析等工作。掌握Pandas的常规用法是构建机器学习模型的第一步。首先,我们需要安装Pandas。如果已经安装了Anaconda,可以直接使用Anaconda自带的包管理工具来安装Pandas。如果没有安装Anaconda,可以使用Python自带的包管理工具pip来安装Pandas,命令为pip install pandas。安装完成后,我们可以导入Pandas库并查询相应的版本信息。通常,我们还会导入NumPy库,因为Pandas和NumPy常常结合在一起使用。导入Pandas库的命令为import pandas as pd,导入NumPy库的命令为import numpy as np。要查询Pandas的版本信息,可以使用print(pd.__version__)命令。接下来,我们可以学习Pandas的数据类型,包括Series和DataFrame。Series是一种一维的数据结构,类似于数组或列表,而DataFrame是一种二维的数据结构,类似于表格。在学习Pandas的过程中,我们可以通过导入Excel数据、输出Excel数据、数据概览、数据查看、数据清洗、数据选择、数据排序、数据分组、数据透视、数据合并和数据可视化等操作来熟悉Pandas的用法。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [非常全面的Pandas入门教程](https://blog.csdn.net/weixin_44489066/article/details/89494395)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [pandas 快速入门教程](https://blog.csdn.net/down_12345/article/details/105345429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值