百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

Python数据的选取和处理(python数据提取方法)

ztj100 2025-07-03 02:34 30 浏览 0 评论

import pandas as pd
import numpy as np
data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=['r1','r2','r3'],columns= ['c1','c2','c3'])
print(data)
    c1  c2  c3
r1   1   2   3
r2   4   5   6
r3   7   8   9
#按列选取数据
a = data['c1']
print(a)
r1    1
r2    4
r3    7
b = data['c1']
print(b)
r1    1
r2    4
r3    7
c = data[['c1','c3']]
print(c)
   c1  c3
r1   1   3
r2   4   6
r3   7   9
#按行选取数据
a = data[1:3] #选取第2-3行,序号从0开始
print(a)
    c1  c2  c3
r2   4   5   6
r3   7   8   9
b = data.iloc[1:3]
print(b)
  c1  c2  c3
r2   4   5   6
r3   7   8   9
c = data.iloc[-1]#选取单行,必须用iloc方法
print(c)
r3   7   8   9
d = data.loc[['r2','r3']]#根据行的名称来选择数据
print(d)
e = data.head()#用来选取前几行的数据
print(e)
   c1  c2  c3
r1   1   2   3
r2   4   5   6
r3   7   8   9
#按区块选取数据
a = data[0:2][['c1','c3']]
print(a)
b = data.iloc[0:2][['c1','c3']]
print(b)
c = data.iloc[0]['c3']
print(c)
d = data.iloc[0:2,[0,2]]
print(d)
#数据的筛选
a = data[data['c1'] > 1]
print(a)
b = data[(data['c1'] > 1) & (data['c2'] == 5)]
print(b)
c = data[(data['c1'] > 1) | (data['c2'] == 5)]
print(c)
#数据的排序
a = data.sort_values(by= 'c2',ascending= False)
print(a)
b = b.sort_index()
print(b)

这段代码展示了 Pandas DataFrame 的数据选择、筛选和排序操作,下面是详细解释:
数据准备
python
运行
import pandas as pd
import numpy as np
解释一下上面这段代码的作用和工作原理:
data = pd.DataFrame(
    np.arange(1, 10).reshape(3, 3),  # 生成1~9的3×3矩阵
    index=['r1', 'r2', 'r3'],       # 行索引
    columns=['c1', 'c2', 'c3']      # 列索引
)
数据结构:
plaintext
   c1  c2  c3
r1  1   2   3
r2  4   5   6
r3  7   8   9
一、按列选取数据
1. 选取单列(返回 Series)
python
运行
a = data['c1']  # 选取 'c1' 列
结果:
plaintext
r1    1
r2    4
r3    7
Name: c1, dtype: int64
2. 选取多列(返回 DataFrame)
python
运行
c = data[['c1', 'c3']]  # 选取 'c1' 和 'c3' 列
结果:
plaintext
   c1  c3
r1  1   3
r2  4   6
r3  7   9
二、按行选取数据
1. 切片(通过索引位置)
python
运行
a = data[1:3]  # 选取第2行和第3行(索引从0开始)
结果:
plaintext
   c1  c2  c3
r2  4   5   6
r3  7   8   9
2. iloc(通过整数位置)
python
运行
b = data.iloc[1:3]  # 同上
c = data.iloc[-1]   # 选取最后一行(返回 Series)
c 的结果:
plaintext
c1    7
c2    8
c3    9
Name: r3, dtype: int64
3. loc(通过索引标签)
python
运行
d = data.loc[['r2', 'r3']]  # 选取 'r2' 和 'r3' 行
结果:
plaintext
   c1  c2  c3
r2  4   5   6
r3  7   8   9
4. head()(选取前 N 行)
python
运行
e = data.head()  # 默认取前5行(本例只有3行,返回全量数据)
三、按区块选取数据
1. 组合切片(先选行,再选列)
python
运行
a = data[0:2][['c1', 'c3']]  # 选前2行的 'c1' 和 'c3' 列
结果:
plaintext
   c1  c3
r1  1   3
r2  4   6
2. iloc 组合(行和列同时切片)
python
运行
d = data.iloc[0:2, [0, 2]]  # 同上,但更高效
3. 定位单个元素
python
运行
c = data.iloc[0]['c3']  # 选取第1行的 'c3' 列(值为3)
四、数据筛选
1. 单列条件
python
运行
a = data[data['c1'] > 1]  # 筛选 'c1' 大于1的行
结果:
plaintext
   c1  c2  c3
r2  4   5   6
r3  7   8   9
2. 多条件组合(逻辑与 &)
python
运行
b = data[(data['c1'] > 1) & (data['c2'] == 5)]  # 筛选 'c1>1' 且 'c2=5' 的行
结果:
plaintext
   c1  c2  c3
r2  4   5   6
3. 多条件组合(逻辑或 |)
python
运行
c = data[(data['c1'] > 1) | (data['c2'] == 5)]  # 筛选 'c1>1' 或 'c2=5' 的行
结果:
plaintext
   c1  c2  c3
r2  4   5   6
r3  7   8   9
五、数据排序
1. 按列值排序
python
运行
a = data.sort_values(by='c2', ascending=False)  # 按 'c2' 列降序排序
结果:
plaintext
   c1  c2  c3
r3  7   8   9
r2  4   5   6
r1  1   2   3
2. 按索引排序
python
运行
b = b.sort_index()  # 按行索引升序排序(注:这里的b是前面筛选的结果)
核心知识点总结
数据选择:
列选择:df['col'] 或 df[['col1', 'col2']]
行选择:df[start:end]、df.iloc[]、df.loc[]
区块选择:组合行和列的选择器
筛选逻辑:
条件用括号包裹:(cond1) & (cond2)
逻辑运算符:&(与)、|(或)、~(非)
排序方法:
值排序:sort_values(by='col', ascending=False)
索引排序:sort_index()

相关推荐

Linux集群自动化监控系统Zabbix集群搭建到实战

自动化监控系统...

systemd是什么如何使用_systemd/system

systemd是什么如何使用简介Systemd是一个在现代Linux发行版中广泛使用的系统和服务管理器。它负责启动系统并管理系统中运行的服务和进程。使用管理服务systemd可以用来启动、停止、...

Linux服务器日常巡检脚本分享_linux服务器监控脚本

Linux系统日常巡检脚本,巡检内容包含了,磁盘,...

7,MySQL管理员用户管理_mysql 管理员用户

一、首次设置密码1.初始化时设置(推荐)mysqld--initialize--user=mysql--datadir=/data/3306/data--basedir=/usr/local...

Python数据库编程教程:第 1 章 数据库基础与 Python 连接入门

1.1数据库的核心概念在开始Python数据库编程之前,我们需要先理解几个核心概念。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它就像一个电子化的文件柜,能让我们高效...

Linux自定义开机自启动服务脚本_linux添加开机自启动脚本

设置WGCloud开机自动启动服务init.d目录下新建脚本在/etc/rc.d/init.d新建启动脚本wgcloudstart.sh,内容如下...

linux系统启动流程和服务管理,带你进去系统的世界

Linux启动流程Rhel6启动过程:开机自检bios-->MBR引导-->GRUB菜单-->加载内核-->init进程初始化Rhel7启动过程:开机自检BIOS-->M...

CentOS7系统如何修改主机名_centos更改主机名称

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1.前言本文将讲解CentOS7系统如何修改主机名。...

前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令

在Linux服务器管理中,SSH(SecureShell)是远程操作的核心工具。以下是SSH终端操作的常用命令和技巧,涵盖连接、文件操作、系统管理等场景:一、SSH连接服务器1.基本连接...

Linux开机自启服务完全指南:3步搞定系统服务管理器配置

为什么需要配置开机自启?想象一下:电商服务器重启后,MySQL和Nginx没自动启动,整个网站瘫痪!这就是为什么开机自启是Linux运维的必备技能。自启服务能确保核心程序在系统启动时自动运行,避免人工...

Kubernetes 高可用(HA)集群部署指南

Kubernetes高可用(HA)集群部署指南本指南涵盖从概念理解、架构选择,到kubeadm高可用部署、生产优化、监控备份和运维的全流程,适用于希望搭建稳定、生产级Kubernetes集群...

Linux项目开发,你必须了解Systemd服务!

1.Systemd简介...

Linux系统systemd服务管理工具使用技巧

简介:在Linux系统里,systemd就像是所有进程的“源头”,它可是系统中PID值为1的进程哟。systemd其实是一堆工具的组合,它的作用可不止是启动操作系统这么简单,像后台服务...

Red Hat Enterprise Linux 10 安装 Kubernetes (K8s) 集群及高级管理

一、前言...

Linux下NetworkManager和network的和平共处

简介我们在使用CentoOS系统时偶尔会遇到配置都正确但network启动不了的问题,这问题经常是由NetworkManager引起的,关闭NetworkManage并取消开机启动network就能正...

取消回复欢迎 发表评论: