怎么使用Python中Pandas的索引对齐方法
发表于:2025-11-21 作者:千家信息网编辑
千家信息网最后更新 2025年11月21日,本篇内容介绍了"怎么使用Python中Pandas的索引对齐方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够
千家信息网最后更新 2025年11月21日怎么使用Python中Pandas的索引对齐方法
本篇内容介绍了"怎么使用Python中Pandas的索引对齐方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一.索引对象支持集合运算:联合、交叉、求差、对称差
Demo1:
import pandas as pd import numpy as np college = pd.read_csv('data/college.csv')columns = college.columnsc1 = columns[:4]c2 = columns[2:5]print(c1.union(c2))print(c1 | c2)
Demo2:
import pandas as pd import numpy as np college = pd.read_csv('data/college.csv')columns = college.columnsc1 = columns[:4]c2 = columns[2:5]print("c1 : ",c1)print("c2 : ",c2)print(c1.symmetric_difference(c2))print(c1 ^ c2)二.用copy()产生新的数据
A is B:表明二者指向的同一个对象。这意味着,如果修改一个,另一个也会去改变。
Demo1:
import pandas as pd import numpy as np employee = pd.read_csv('data/employee.csv', index_col='RACE')salary1 = employee['BASE_SALARY']salary2 = employee['BASE_SALARY']print(salary1 is salary2)salary1 = employee['BASE_SALARY'].copy()salary2 = employee['BASE_SALARY'].copy()print(salary1 is salary2)三.不等索引(索引的difference方法)
Demo1:
用difference,找到哪些索引标签在baseball_14中,却不在baseball_15、baseball_16中
import pandas as pd import numpy as np baseball_14 = pd.read_csv('data/baseball14.csv', index_col='playerID') baseball_15 = pd.read_csv('data/baseball15.csv', index_col='playerID') baseball_16 = pd.read_csv('data/baseball16.csv', index_col='playerID')print(baseball_14.index.difference(baseball_15.index))print(baseball_14.index.difference(baseball_16.index))
四.使用fill_value避免在算术运算时产生缺失值
Demo1:
import pandas as pd import numpy as np baseball_14 = pd.read_csv('data/baseball14.csv', index_col='playerID') baseball_15 = pd.read_csv('data/baseball15.csv', index_col='playerID') #H列:每名球员的击球数hits_14 = baseball_14['H']hits_15 = baseball_15['H']print(hits_14.head())print(hits_15.head())print(hits_14.head() + hits_15.head())
下面四条数据是有记录的,但是因为不同时存在14,15两张表中,所以相加会产生NaN,需要用fill_value
Demo2:
import pandas as pd import numpy as np baseball_14 = pd.read_csv('data/baseball14.csv', index_col='playerID') baseball_15 = pd.read_csv('data/baseball15.csv', index_col='playerID') baseball_16 = pd.read_csv('data/baseball16.csv', index_col='playerID')#H列:每名球员的击球数hits_14 = baseball_14['H']hits_15 = baseball_15['H']hits_16 = baseball_16['H']print(hits_14.head().add(hits_15.head(),fill_value=0))
*如果一个元素在两个Series都是缺失值,即便使用了fill_value,相加的结果也仍是缺失值
五.从不同的DataFrame追加列
Demo:
import pandas as pd import numpy as np employee = pd.read_csv('data/employee.csv')d1 = employee[['DEPARTMENT', 'BASE_SALARY']]print("排序前:")print(d1.head())# 在每个部门内,对BASE_SALARY进行排序d2 = d1.sort_values(['DEPARTMENT', 'BASE_SALARY'],ascending = [True,False])print("排序后:")print(d2.head())#用drop_duplicates方法保留每个部门的第一行d3 = d2.drop_duplicates(subset = 'DEPARTMENT')print('去重后:')print(d3.head())#使用DEPARTMENT作为行索引d3 = d3.set_index('DEPARTMENT')employee = employee.set_index('DEPARTMENT')#向employee的DataFrame新增一列#新增时,对应缺项的为缺失值#存储每个Department的最高工资employee['MAX_SALARY'] = d3['BASE_SALARY']pd.options.display.max_columns = 3print('合并后:')print(employee.head())#用query查看是否有BASE_SALARY大于MAX_DEPT_SALARY的#输出应该为0print('query结果:')print(employee.query('BASE_SALARY > MAX_SALARY'))employee['MAX_SALARY'] = d3['BASE_SALARY']
这行语句能执行成功的条件是:d3中不含有重复索引,即执行过drop_duplicates
运行结果:

"怎么使用Python中Pandas的索引对齐方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
索引
方法
缺失
结果
排序
内容
对象
数据
更多
球员
知识
击球
输出
运算
不同
实用
最高
对称
成功
学有所成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
python文件数据库
电脑下载什么软件开发票
软件开发岗是做什么的
达梦数据库修改实例端口
局域网游戏服务器硬盘
英灵神殿加入服务器版本不兼容
上海厚步网络技术有限公司
南理工网络安全与对抗
泰安微信小程序软件开发哪家好
山西创想软件开发有限公司
服务器空间设置权限
拨打电话显示连接服务器
commitment数据库
网络安全类型和加密
运用了哪些网络安全防护技术
光纤网络技术相关图书
网络安全在线搜题
excel如果创建数据库
镇海软件开发工具
文件服务器怎么打开
方舟非主机服务器怎么让别人无敌
哪些数据库支持type加密
数据库中索引的负面影响
维护网络安全的产品
贵阳大数据库温度
架构 多种数据库
关系数据库是用什么形式
静安区通讯网络技术供应
阿里云买的什么服务器
浙江大学网络安全管理