Pandas基础知识(四)——DataFrame操作(上)

本节介绍Pandas的DataFrame数据结构,包括如何从Excel文件读取DataFrame,以及DataFrame的基本操作(增删查改)。文章分为上、中、下三部分,强调操作完成后需用相应代码保存表格。
摘要由CSDN通过智能技术生成

在本栏目最开始介绍了两种基本数据结构,Series和DataFrame,点击下方卡片进行回顾。

Pandas基础知识(一)——基本数据结构icon-default.png?t=N7T8https://blog.csdn.net/m0_51981035/article/details/129865485本节主要介绍有关DataFrame操作,由于比较多暂时分为上、中、下三节。

一、初见DataFrame

1.新建Excel文件,文件名为“期末成绩统计.xlsx”,工作表名为“成绩单”,表格内容如下:

姓名语文数学英语历史地理
小明1029810610086
小红103107898478
小强10478889994
小兰105110996979

2.结合pandas读取Excel文件的函数,我们从文件中读取得到一个DataFrame。

import pandas as pd
df = pd.read_excel('期末成绩统计.xlsx',sheet_name='成绩单', index_col=None)
二、DataFrame
1.介绍了DataFrame大概的一些操作(增删查改),后面针对一些具体的出个详细版
#DataFrame的转置
print(df.T)

#把Series转换为列数为1的DataFrame,DataFrame比Series多了列索引,输出进行前后对比
#Series无列索引
df_name=df['姓名']
print(df_name)

#DataFrame有列索引
print(df['姓名'].to_frame())

#将df或者series转化为列表
namelist = list(df_name)

#重命名列名
df.columns = ['语文1','数学2','英语3','历史4','地理5']
#获取列名列表
print(list(df))
print(list(df.columns.values))
print(list(df.columns.tolist()))
#修改行列
df['数学']=df['数学'].astype(str)#修改数学这一列的数据类型

newcol = [3,1,2,0]
df = df[df.columns[newcol]]#修改列顺序,原来的第四列变成第一列,第二、三列不变,第一列变成第四列

df.reindex(['数学2','语文1','英语3','地理5','历史4'])#按照列表内的顺序修改列顺序

#新增行列
df['体育'] = [45, 44, 41, 37, 50]#新增列,注意新增后列数变为6
df.loc[len(df)]=[104,89,99,86,76,47]#末尾新增行,一行有六个数据

#删除列
df.drop('语文',axis=1,inplace=True)#以列名删除

df.drop(df.columns=[[0,1]],axis=1,inplace=True)#以列序号删除

#查询行列/筛选行列/行列切片
print(df.loc[df['语文']>103])#筛选语文成绩大于103的行
print(df.loc[(df['语文']>103]) & (df['数学']>100]))#筛选语文成绩大于103且数学成绩大于100的行

print(df.loc[df['历史'].isin([99,100])])#筛选历史成绩为99或者100的行




2.在对DataFrame操作完成后,如果要存入表格,记得写存取代码
df.to_excel('期末成绩统计.xlsx',sheet_name="Sheet1",index=False)

具体可以看下这边文章

pandas存储文件的函数icon-default.png?t=N7T8https://blog.csdn.net/m0_51981035/article/details/130028903

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孩子快醒醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值