在本栏目最开始介绍了两种基本数据结构,Series和DataFrame,点击下方卡片进行回顾。
Pandas基础知识(一)——基本数据结构https://blog.csdn.net/m0_51981035/article/details/129865485本节主要介绍有关DataFrame操作,由于比较多暂时分为上、中、下三节。
一、初见DataFrame
1.新建Excel文件,文件名为“期末成绩统计.xlsx”,工作表名为“成绩单”,表格内容如下:
姓名 | 语文 | 数学 | 英语 | 历史 | 地理 |
小明 | 102 | 98 | 106 | 100 | 86 |
小红 | 103 | 107 | 89 | 84 | 78 |
小强 | 104 | 78 | 88 | 99 | 94 |
小兰 | 105 | 110 | 99 | 69 | 79 |
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存储文件的函数https://blog.csdn.net/m0_51981035/article/details/130028903