01_快速入门

读取数据

python 复制代码
import pandas as pd

# df = pd.read_excel('https://xxxx/xxx//xx.xslx') # 读取网络数据
# df = pd.read_excel(r'd:\data\xx.xslx')  # 读取本地文件
# 如果是csv文件,用read_csv()函数
df = pd.read_csv('seaborn/iris.csv')

查看数据

python 复制代码
df.head()  # 前5条记录
df.tail()  # 后5条记录
df.sample(5)# 随机5条记录
df[10:15]  # 10~14记录

验证数据

python 复制代码
# df.shape        # 查看行数与列树数(注意是属性,不是函数)
# df.info()       # 查看索引、类型、内存信息
# df.describe()   # 查看数字列的汇总信息
# df.dtypes       # 查看各字段类型
# df.axes         # 查看数据行、列名
df.columns      # 查看列名

建立索引

python 复制代码
df.set_index('species',inplace=True) # 指定species 列为索引

选取数据、排序等

python 复制代码
## 列选择
# df['sepal_length'] # 通过列名筛选
# df.sepal_length    # 同上
# df[['sepal_length','sepal_width']] # 选择多列,注意数组写法
# df.loc[:,['sepal_length','sepal_width']] # df.loc[x,y]是---个非常强大的数据选择函数,其中x代表行,y代表列。df.iloc[x,y] 与df.locl类似,使用的是自然索引

## 行选择
# df[df.index == 'setosa'] # 指定行索引
# df[0:3] # 使用自然索引,类似切片
# df[0:10:2] #前10个中每两个取一个 
# df.iloc[0:10,:] #取前十个

## 行、列选择
# df.loc['setosa','sepal_length':'petal_length'] # 'sepal_length':'petal_length'表示列范围

## 排序
# df.sort_values('sepal_length')  # 按照sepal_length升序排列
df.sort_values('sepal_length',ascending=False) # 按照sepal_length降序排列

分组聚合

python 复制代码
# df.groupby('species') # 按照行索引分组  species是行索引名称
# df.groupby('species').sum() # 分组计算各列数值的总和
df.groupby('species').agg({
    'sepal_length':sum,      # 总和
    'sepal_width': 'count',  # 数量
    'petal_length': 'mean',  # 均值
    'petal_length':max       # 最大值
})

pandas 数据结构

numpy

NumPy(Numeric Python)是Python的科学计算包,提供多维数组、蒙版数组、矩阵等对象,用于对数组进行快速便捷操作,包括数学、逻辑、形状处理、排序、傅里叶变换、线性代数等。

由于NumPy对数据进行向量化描述,没有任何显式的循环操作,所以执行速度更快,代码更加简洁优雅,出错率更低。NumPy提供了两个基本的对象:

  • ndarray :存储数据的多维数组
  • ufunc :对数组进行处理的函数

使用NumPy需要先导入,约定俗成地为它起别名np。

数据类型

np.int64 有符号64位整形

np.float32 标准双精度浮点型

np.complex 由128位浮点数组组成的复数类型

np.bool bool类型(True 或 False)

np.object Python 中的object类型

np.string 固定长度的string类型

np.unicode 固定长度的unicode类型

np.NaN np.float的子类型,可以认为是None,但又能参与数字运算

np.nan 同 np.nan

Series

Series(系数、数列、序列)是一个带有标签的一维数组,这一系列连续的数据代表了一定的业务意义。

DataFrame

DataFrame意为数据框,它就像一个存放数据的架子,有多行多列,每个数据在一个格子里,每个格子有自己的编号。

常见数据类型:

  • float
  • int
  • bool
  • datetime64[ns]
  • datetime64[ns,tz]
  • timedelta64[ns]
  • timedelta[ns]
  • category
  • object
  • string

数据检测:注意s参数表示一个Series

  • pd.api.types.is_bool_dtype(s)
  • pd.api.types.is_int64_dtype(s)
  • ...

索引

  • 索引(index):行和列上的标签,标识二维数据坐标的行索引和列索引,默认情况下,指的是每一行的索引。列索引又被称为字段名,表头。
  • 自然索引、数字索引:行和列的0~n(n为数据长度-1)形式的索引,数据天然具有的索引形式。
  • 标签(label):行索引和列索引,如果是Series,那只能是它行上的索引。
  • 轴(axis):仅用在DataFrame结构中,代表数据的方向,如行和列,用0代表列(默认),1代表行。
相关推荐
AIAdvocate2 小时前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼2 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
FreakStudio4 小时前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
python·嵌入式·面向对象·电子diy
redcocal5 小时前
地平线秋招
python·嵌入式硬件·算法·fpga开发·求职招聘
artificiali5 小时前
Anaconda配置pytorch的基本操作
人工智能·pytorch·python
RaidenQ6 小时前
2024.9.13 Python与图像处理新国大EE5731课程大作业,索贝尔算子计算边缘,高斯核模糊边缘,Haar小波计算边缘
图像处理·python·算法·课程设计
花生了什么树~.6 小时前
python基础知识(六)--字典遍历、公共运算符、公共方法、函数、变量分类、参数分类、拆包、引用
开发语言·python
Trouvaille ~6 小时前
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
图像处理·python·机器学习·numpy·信号处理·时间序列分析·科学计算
爆更小小刘6 小时前
Python基础语法(3)下
开发语言·python
哪 吒6 小时前
华为OD机试 - 第 K 个字母在原来字符串的索引(Python/JS/C/C++ 2024 E卷 100分)
javascript·python·华为od