前言
pandas最强大的功能感觉就是对Excel表格进行操作了,下面记录一些基本的操作,此次读取的表格名为test.xlsx
,内容如下:
读取表格
读取.xlsx
文件使用read_excel
函数即可,读取.csv
文件使用read_csv
即可
import pandas as pd
pd.read_excel('test.xlsx')
可以看出默认的index就是0,1,2,…,如果想让科目名字作为index,修改index_col
属性即可
pd.read_excel('test.xlsx', index_col=0)
常用基础操作
使用head和tail方法可以分别查看表格的前5条数据和后5条数据
df=pd.read_excel('test.xlsx', index_col=0)
df.head()
使用describe方法可以对表格中的数据进行简单的描述性统计,默认是以每一列为一个数据项
df.describe()
如果要考察每一门科目的描述性统计,可以先将Dataframe转置,再调用describe方法即可
df.T.describe()
删去某一行,或者某几行:
df.drop(['数学', '语文'])
查看形状,跟numpy里边一样查看shape属性即可:
![Snipaste_2021-02-11_17-53-52](E:%5Cblog_pic%5CSnipaste_2021-02-11_17-53-52.png)df.shape
# 输出:(7,5)
对dataframe按照index排序
df.T.sort_index()
对dataframe按照指定列的值排序:
# by参数指定列名
## 降序排序
df.sort_values(by = 'Mike',ascending = False)
## 升序排序
df.sort_values(by = 'Mike')
生成新的一列:
df['Dark ♂'] = 0
df
然后要啥值,直接选取元素进行赋值即可
导出Dataframe
简单的导出
直接使用.to_excel()
即可,该方法的参数如下:
df.to_excel(
excel_writer,
sheet_name='Sheet1',
na_rep='',
float_format=None,
columns=None,
header=True,
index=True,
index_label=None,
startrow=0,
startcol=0,
engine=None,
merge_cells=True,
encoding=None,
inf_rep='inf',
verbose=True,
freeze_panes=None,
)
常用的参数有这几个:
- excel_writer:如果是只写入一个Sheet,那么这里传入你要保存的路径即可;如果是要写入多个Sheet,那么要传入一个构造好的writer,后面会有栗子
- sheet_name:指定写入Sheet的名字
- na_rep:用于替换空数据的字符串,默认为’’
- float_format:设置浮点数的格式(几位小数点)
- columns:要写入的列
- header:是否保存列名,默认为True,即为保存
- index:是否保存索引,默认为True,即为保存
- index_label:索引的列标签名
一次性导出多个Sheet
path = 'result.xlsx'
writer = pd.ExcelWriter(path)
df.to_excel(writer,sheet_name='1')
df.to_excel(writer,sheet_name='2')
df.to_excel(writer,sheet_name='3')
writer.save()
其他导出形式
df.to_csv
:导出为csv文件df.to_json
:导出为json文件df.to_html
:导出为html文件df.to_clipboard
:导出dataframe到剪贴板,相当于ctrl+c
df.to_latex
:导出为latex代码df.to_sql
:导出为SQL
更多详细教程,可以去官方文档查看