Pandas知识点总结1

Pandas库

基础

概述

-Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基础上构建而来

-Pandas名字衍生自术语"paneldata"(面板数据)和"Pythondataanalysis"(Python数据分析)

-Pandas已经成为Python数据分析的必备高级工具,它的目标是成为强大、灵活、可以支持任何编程语言的数据分析工具

-Pandas是Python语言的一个扩展程序库,用于数据分析

-Pandas是一个开放源码、BSD许可的库,提供高性能、易于使用的数据结构和数据分析工具

-Pandas一个强大的分析结构化数据的工具集,基础是Numpy(提供高性能的矩阵运算)

-Pandas可以从各种文件格式比如CSV、JSON、SQL、MicrosoftExcel导入数据

-Pandas可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征

-Pandas广泛应用在学术、金融、统计学等各个数据分析领域

-Pandas的出现使得Python做数据分析的能力得到了大幅度提升,它主要实现了数据分析的五个重要环节:加载数据、整理数据、操作数据、构建数据模型、分析数据

安装

pipinstallpandas==1.1.5-ihttps://pypi.tuna.tsinghua.edu.cn/simple/

内置数据结构

在ndarray数组(NumPy中的数组)的基础上构建出了Series(一维数据结构)、DataFrame(二维数据结构)

          • Series是带标签的一维数组,这里的标签可以理解为索引,但这个索引并不局限于整数,它也可以是字符类型,比如a、b、c等
          • DataFrame是一种表格型数据结构,它既有行标签,又有列标签

Series

PandasSeries类似表格中等一个列(column),类似于一维数组,可以保存任何数据类型Series由索引(index)和列组成

          • pandas.Series(data,index,dtype)
            • data:一组数据(ndarray类型)index:数据索引标签,如果不指定,默认从0开始dtype:数据类型,默认会自己判断copy:表示对data进行拷贝,默认为False

创建Series对象的方式

          • importpandasaspd#Series空对象defone():series_one=pd.Series(dtype='f8')print('空对象:\n',series_one)
          • 直接赋值创建Series对象
            • series_one=pd.Series([1,2,3,4,5],dtype='f8')print('Series对象:\n',series_one)
          • ndarray创建Series对象
            • array_one=np.array(['小明','小红','小紫'])index=np.arange(3)series_one=pd.Series(data=array_one,index=index)
          • 字典创建Series对象
            • data={"name":"陈蕾","gender":"男"}result=pd.Series(data=data)
          • 标量创建Series对象
            • result=pd.Series(data=5,index=[1,2,3,4,5])

访问Series数据

                 result = pd.Series(data=data)

Series常用属性

Series常用方法              

  • head() 和 tail()

    • 查看 Series 的某一部分数据,使用 head() 或者 tail() 方法。其中 head() 返回前 n 行数据,默认显示前 5 行数据,tail() 返回后 n 行数据,默认为后 5 行

  • isnull() 和 nonull()

    • isnull() 和 nonull() 用于检测 Series、DataFrame 中的缺失值。所谓缺失值,顾名思义就是值不存在、丢失、缺少

    • - isnull():如果为值不存在或者缺失,则返回 True

    • - notnull():如果值不存在或者缺失,则返回 Fal

DataFrame

基本

          • DataFrame一个表格型的数据结构,既有行标签(index),又有列标签(columns),它也被称异构数据表,所谓异构,指的是表格中每列的数据类型可以不同,比如可以是字符串、整型或者浮点型等,形如:

          • -DataFrame的每一列数据都可以看成一个Series结构,只不过,DataFrame为这些行中每个数据值增加了一个列标签
          • -同Series一样,DataFrame自带行标签索引,默认为“隐式索引”即从0开始依次递增,行标签与DataFrame中的数据项一一对应当然你也可以用“显式索引”的方式来设置行标签

pd.DataFrame(data,index,columns,dtype,copy)

          • data:一组数据(ndarray、series,map,lists,dict等类型)index:索引值,或者可以称为行标签coumns:列标签,默认为RangeIndex(0,1,2,…,n)dtype:数据类型copy:默认为False,表示复制数据data

创建DataFrame对象

          • **创建DataFrame对象的方式:**
            • -列表
            • -字典
            • -Series
            • -Numpyndarrays
            • -另一个DataFrame
          • 创建DataFrame空对象
            • result=pd.DataFrame()
          • 列表创建DataFrame对象
            • data=['小明','小红','小紫']column=['name']result=pd.DataFrame(data=data,columns=column)
          • 列表嵌套列表创建DataFrame对象
            • data=[['小米',18],['小红',19],['小紫',20]]result=pd.DataFrame(data=data,columns=['name','age'])
          • 列表嵌套字典创建DataFrame对象
            • data=[{'name':"张三",'age':18},{'name':"小红",'gender':"男",'age':19}]result=pd.DataFrame(data=data)
          • 字典创建DataFrame对象
            • data={"name":['小米','小红','小紫'],"age":[18,19,20]}result=pd.DataFrame(data=data,dtype=float)
          • Series创建DataFrame对象
            • data={'one':pd.Series([1,2,3],index=['a','b','c']),
            • 'two':pd.Series([1,2,3,4],index=['a','b','c','d'])}
            • result=pd.DataFrame(data=data)

列索引操作

          • DataFrame可以使用列索(columnsindex)引来完成数据的选取、添加和删除操作
          • 选取数据
            • dname['name']
          • 添加数据
            • 添加新列
              • 使用df['列']=值,插入新的数据列:result['three']=pd.Series(data=[11,22,33],index=['a','b','c'])
            • 添加新行
              • df.loc['e']=[17,18,19,20]
            • 在指定的位置插入新列
              • #使用insert方法在位置1插入新列'D'df.insert(1,'D',[13,14,15,16])
          • 修改数据
            • result=pd.DataFrame(data=data)result['two']=pd.Series(data=[1,2,3],index=['a','b','c'])
          • 删除数据
            • 通过drop方法删除DataFrame中的数据,默认情况下,drop()不会修改原DataFrame,而是返回一个新的DataFrame。axis=1,删除列
            • DataFrame.drop(labels=None,axis=0,index=None,columns=None,level=None,inplace=False,errors='raise')

行索引操作

          • loc选取数据
            • DataFrame.loc[row_indexer,column_indexer]
              • -row_indexer:行标签或布尔数组。
              • -column_indexer:列标签或布尔数组。
              • 不能通过索引位置获取
          • iloc选取数据
            • iloc方法用于基于位置(integer-locationbased)的索引,即通过行和列的整数位置来选择数据。
              • 不能通过索引标签获取
            • DataFrame.iloc[row_indexer,column_indexer]
              • -row_indexer:行位置或布尔数组。
              • -column_indexer:列位置或布尔数组。
          • 切片多行选取
            • 通过切片的方式进行多行数据的选取
            • 切片获取行和通过iloc方法获取行从结果上没有区别,切片是基于位置的切片操作,iloc是基于位置的索引操作。
          • 添加数据行
            • append()方法##pandas1.4.0后已弃用
              • append()方法用于将一个Series或DataFrame追加到另一个DataFrame的末尾。#已弃用
              • DataFrame.append(other,ignore_index=False,verify_integrity=False,sort=False)#已弃用
                • other:
                  • -类型:Series或DataFrame。
                  • -描述:要追加的数据。
                • ignore_index:
                  • -类型:Series或DataFrame。
                  • -描述:要追加的数据。
                • verify_integrity:
                  • -类型:布尔值,默认为False。
                  • -描述:如果为True,则在创建具有重复索引的DataFrame时引发ValueError。
                • sort:
                  • -类型:布尔值,默认为False。
                  • -描述:如果为True,则在追加之前对列进行排序。
            • loc方法添加新行
              • data={'A':[1,2,3,4],'B':[5,6,7,8],'C':[9,10,11,12]}df=pd.DataFrame(data,index=['a','b','c','d'])#添加新行'e'df.loc['e']=[17,18,19,20]
          • 删除数据行
            • 您可以使用行索引标签,从DataFrame中删除某一行数据。如果索引标签存在重复,那么它们将被一起删除。使用的是drop函数
            • dorp(),默认axis=0,删除行

常用属性和方法

            • head()tail()默认值为5

函数

常用的统计学函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值