DataFrame必会基础操作

简介: DataFrame必会基础操作

DataFrame创建


创建空的 DataFrame

创建一个空的 , 包含三行空数据。

df = pd.DataFrame(columns=['name', 'age'], index=[0, 1, 2])
复制代码

image.png


常规 DataFrame 创建方式

这里只介绍常见的三种,数组创建、字典创建、外部文件创建。常见文件读取的时候直接指定文件路径即可,对于 xlsx 文件可能存在多个 sheet 这时就需要指定 sheet_name


# 数组创建
df = pd.DataFrame(data=[['路飞', 18],
                       ['索隆', 19],
                       ['娜美', 18]],
                  columns=['name', 'age'])
# 通过字典创建
df = pd.DataFrame({'name': ['路飞','索隆', '娜美'],
           'age':[18, 19, 18]})
# 通过外部文件创建,csv,xlsx,json等
df = pd.read_csv('XXX.csv')
复制代码

image.png


DataFrame存储


常见存储方式(csv, json, excel, pickle)

保存时,一般情况下是不需要保存索引的,因为读取的时候会自动生成索引。

df.to_csv('test.csv', index=False)  # 忽略索引
df.to_excel('test.xlsx', index=False)  # 忽略索引
df.to_json('test.json')  # 保存为json
df.to_pickle('test.pkl')  # 保存为二进制格式
复制代码


DataFrame查看数据信息


显示摘要信息

在我们使用 DataFrame 之前都会查看数据的信息,个人首选 info ,它展现了数据集的行列信息,以及每列中的非空值的数量。

df.info()
复制代码

image.png


显示描述性统计信息

能够较为直观的查看数值列的基本统计信息。

df.describe()
复制代码

image.png


显示 前 / 后 n行

默认显示5行,可指定显示的行数。

df.head(n)  # 可指定整数,输出前面n行
df.tail(n)  # 可指定整数,输出后面n行
复制代码


显示索引、列信息

显示索引及列的基本信息。

df.columns  # 列信息
df.index  # 索引信息
复制代码

image.png


显示每列的数据类型

显示列的名称及对应的数据类型。

df.dtypes
复制代码

image.png


显示占用的内存大小

显示给列占用内存的大小,单位是 :字节(byte)。

df.memory_usage()
复制代码

image.png


定位某行数据


重点:无论是 loc 还是 iloc 使用的要领都是先指定行,再指定列,并且行与列表达式用 分隔。如:df.loc[:, :] 获取所有行所有列的数据。


使用 loc() 定位

比如现在要定位 [索隆] 这行数据,有以下

df.loc[1, :]  # loc[index , columns] 行索引,列名,返回 Series 对象
df.loc[df['age'] > 18]  # 返回 DataFrame 对象
# 或者 df[df['age'] > 18]
# df.loc[df['name'] == '索隆']
复制代码

image.png


使用 iloc 定位

使用 iloc 取第二行(索引从0开始),所有列的数据。

df.iloc[1, :]  # iloc[index1, index2] 行索引, 列索引
复制代码

image.png



相关文章
|
Python
在dataframe中插入新的一行
在pandas中,可以使用`insert`函数在dataframe中插入新的一行。
1423 1
|
数据采集 自然语言处理 数据可视化
Hidden Markov Model,简称 HMM
隐马尔可夫模型(Hidden Markov Model,简称 HMM)是一种统计模型,用于描述由隐藏的马尔可夫链随机生成观测序列的过程。它是一种生成模型,可以通过学习模型参数来预测观测序列的未来状态。HMM 主要包括以下几个步骤:
329 5
|
关系型数据库 MySQL Linux
Python安装mysqlclient报错避坑
MySQL是常用的开源数据库,Python环境下django框架连接MySQL数据库用的是mysqlclient库,今天在用pip安装mysqlclient库时报错,特记录一下,避免后续继续踩坑。
1647 1
|
5月前
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
338 57
|
索引 Python
Pandas学习笔记之Dataframe
Pandas学习笔记之Dataframe
1463 2
|
数据采集 机器学习/深度学习 数据处理
DataFrame 操作
DataFrame 操作
1002 1
|
Docker 容器
Docker | 自定义网络(网关、子网地址)
Docker | 自定义网络(网关、子网地址)
1524 0
Docker | 自定义网络(网关、子网地址)
Vue3信息提示(Modal)
这是一个基于 Vue2 的信息提示模态框组件,支持多种弹窗类型(如 info、success、error 等),并提供丰富的自定义属性,包括按钮文本、按钮类型、居中方式等。该组件可根据内容自动调整高度,并兼容不同按钮样式配置。预览效果展示了不同类型的模态框及其样式。代码中详细介绍了组件的实现方式和使用方法。
483 1
Vue3信息提示(Modal)
pandas list\dict 转换为DataFrame
pandas list\dict 转换为DataFrame
pandas list\dict 转换为DataFrame
|
缓存 Linux C++
map异常崩溃分析汇总
文章讨论了std::map和std::set在某些情况下崩溃的原因,包括结构体字节对齐问题、多线程资源同步问题、以及比较器的实现问题,并提供了相应的解决方案。
479 0

热门文章

最新文章