首页 > 编程语言 >Python——Pandas(第二讲)

Python——Pandas(第二讲)

时间:2024-07-26 22:56:56浏览次数:11  
标签:index 索引 Python 第二 df pd iloc data Pandas

文章目录

变量类型的转换

Pandas 支持的数据类型

具体类型是 Python, Numpy 各种类型的混合,可以下分的更细:

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

df.dtypes :査看各列的数据类型

df.dtypes

在不同数据类型间转换

df.astype(
 dtype :指定希望转换的数据类型,可以使用 numpy 或者 python 中的数据类型: int/float/bool/str
 copy = True :是否生成新的副本,而不是替换原数据框
 errors = 'raise' : 转换出错时是否抛出错误,raise/ ignore )
#将df里所有的列转换成str
df.astype('str')
df.astype('str').dtypes
#修改某一列数据的数据类型
df.column.astype ('str')
#转换错误
df.astype('int', errors = 'ignore').dtypes 

明确指定转换类型的函数:

  • 旧版本方法:
    • pd.to_datetime ()
    • pd.to_timedelta ()
    • pd.to_numeric ()
    • df.to_string()

可以通过 df. apply 来批量逬行多列的转换
pd. to_numeric (df .cloumn)

#转换单列
pd.to_numeric(df.软件)
#选择多列进行转换
df [['cloumn1','cloumn2']].astype('str').apply(pd. to_numeric).dtypes

建立索引

新建数据框时建立索引

所有的数据框默认都已经使用从 0 开始的自然数索引,因此这里的"建立”索引指的是自定义索引

df = pd.DataFrame( {'varl' : 1.0, ' var2' :[1,2,3,4], 'var3' : ['test', 'python','test','hello'] , 'var4' : 'cons'} , index =[0,1,2,3])
'''
	varl	var2	var3	var4
0	1.0	       1	test	cons
1	1.0	       2	python	cons
2	1.0	       3	test	cons
3	1.0	       4	hello	cons
'''

读入数据时建立索引

使用现有列

df = pd.read_csv ("filename",index_col="column”)

使用复合列

df = pd.read_csv ("filename", index_col=[0,1..])

指定某列为索引列

df.set_index(
    keys :被指定为索引的列名,复合索引用 list:格式提供
    drop = True :建立索引后是否删除该列
    append = False :是否在原索引基础上添加索引,默认是直接替换原索引       
    inplace = False :是否直接修改原数据框 )
# 示例
df_new = df.set_index (keys=['学号','性别'],drop = False)
df_new = df.set_index (keys='学号',append=True, drop=False)

将索引还原变量列

df.reset_index(
drop = False :是否将原索引直接删除,而不是还原为变量列
inplace = False :是否直接修改原数据框
)

df.set_index (['col1','col2','col3'])

将索引全部还原为变量

df.reset_index ()

是否删除 index 列

df.reset_index (drop=True)

引用和修改索引

引用索引

  • 注意:索引仍然是有存储格式的,注意区分数值型和字符型的引用方式
df.index

修改索引

修改索引名

本质上和变量列名的修改方式相同

df = pd.DataFrame({'name':['zs','ls','ww'],'level':['vip1','vip2','pm']})
'''
	name	level
0	zs	    vip1
1	ls	    vip2
2	ww	    pm
'''
df.index.name='sno'
'''
sno	 name	level
0	 zs	    vip1
1	 ls	    vip2
2	 ww	    pm
'''

示例用法

df2 = pd.read_excel('stu_data.xlsx')
df3 = df2.set_index(keys = '学号')
df4 = pd.read_excel('stu_data.xlsx')
df5 = df2.set_index(keys = ['学号','性别'])
df5.index.names = ['no','sex']
df5.index.names=[None,None]

修改索引值

df.index = ['a', 'b', 'c']

更新索引

reindex 则可以使用数据框中不存在的数值建立索引,并据此扩充
新索引值对应的索引行/
列,同时进行缺失值填充操作。
df.reindex(
**labels

标签:index,索引,Python,第二,df,pd,iloc,data,Pandas
From: https://blog.csdn.net/weixin_73504499/article/details/140725278

相关文章

  • 基于Python+Django的红色文化研学网站设计与实现
    ......
  • 【python】对网站进行请求-初识
    python实现对网站进行请求代码如下importrequestsdefget_data(url,headers=None,params=None,timeout=10):try:res=requests.get(url,headers=headers,params=params,timeout=timeout)res.raise_for_status()returnres.text......
  • 【python】Django初识-从未有如此美妙的开局
    Django初识python、Django安装与验证python安装Python官网https://www.python.org/Django安装pipinstallDjango验证python是否安装成功python--version验证Django是否安装成功python3-mdjango--version创建第一个Django项目项目创建与服务器启动打开cmd,输......
  • Python虚拟环境创建、激活、使用,项目依赖导出、安装requestments.txt
    Python虚拟环境通过命令行终端创建python虚拟环境:新建一个文件夹,可以专门用来存放虚拟环境,这里在D盘创建Python_Virtual_Environment_test文件夹然后在这里输入cmd按回车键进入命令行终端此时打开的位置就是当前的路径,当然也可以 cd一步步进入到目标路径创建环境......
  • 使用 Python 脚本自动生成报告
    使用Python脚本自动生成报告1.简介本文档介绍如何使用Python脚本自动生成报告。此脚本旨在简化报告生成过程,提高效率并减少人为错误。2.需求Python3.6或更高版本Pandas库Matplotlib库3.安装使用pip安装必要的库:pipinstallpandasmatplotlib4.脚本im......
  • 【和为 K 的子数组】python刷题记录
    这就到前缀和了。classSolution:defsubarraySum(self,nums:List[int],k:int)->int:#连续不能sortnum=len(nums)i=0j=i+1sm=0ret=0#j可以=是因为后面切片不包括jwhilej<=num:......
  • JAVA集中学习第二周学习记录(四)
    系列文章目录第一章JAVA集中学习第一周学习记录(一)第二章JAVA集中学习第一周项目实践第三章JAVA集中学习第一周学习记录(二)第四章JAVA集中学习第一周课后习题第五章JAVA集中学习第二周学习记录(一)第六章JAVA集中学习第二周项目实践第七章JAVA集中学习第二......
  • 嵌入式Python、ROS、SLAM、WebSocket和Node.js:智能巡逻监控安防机器人设计流程(代码示
    项目概述随着智能技术的发展,智能巡逻机器人在安防、监控和巡逻等领域的应用越来越广泛。本文将介绍一个结合嵌入式系统、机器人技术和后端开发的智能巡逻机器人。该机器人能够自主导航,实时检测异常情况(如火灾或入侵者),并将数据发送到后端服务器,以实现高效的监控和应急响应。主......
  • JAVA集中学习第二周项目实践[图书管理系统]
    系列文章目录第一章JAVA集中学习第一周学习记录(一)第二章JAVA集中学习第一周项目实践第三章JAVA集中学习第一周学习记录(二)第四章JAVA集中学习第一周课后习题第五章JAVA集中学习第二周学习记录(一)第六章JAVA集中学习第二周项目实践文章目录系列文章目录......
  • python和mysql数据库
    pyhton和mysql数据库1.非查询:frompymysqlimportConnection#导入数据库模块pymysql以及Connection对象conn=Connection(#连接数据库  host='127.0.0.1',#ip地址或者是主机名  port=3306,#端口号  user='root',  password='20040130', ) cursor=c......