1. 介绍
python常用的文件格式包括Excel,csv,我们需要了解对这类文件的读入、处理等操作,故这节我们将学习用pandas读取文件,和一些常用操作的函数
2.DataFrame常用的操作
下表为DataFrame类型的常用操作
属性 | 作用 |
---|---|
对象.values | 获得ndarray数据 |
对象.index | 获得行索引 |
对象.columns | 获得列索引 |
df.T | 转置 |
对象.head(n) | 读取前n行数据 |
对象.tail(n) | 读取后n行数据 |
对象.describe() | 获得对数据的描述,可以获得数据的条数、平均值、标准差、最小值、最大值 |
对象.loc[行索引] | 索引行数据的方式 |
2. Excel文件
2.1 Excel文件的读入
函数:pd.read_excel(io,sheet_name,header,names,skiprows,index_col)
参数解析:
io :路径,可以是绝对路径,也可以是相对路径
sheet_name :指定读入哪个sheet表
header: 表示第(header+1)行作为列标签(Excel没有第0行)。如Head=0,表示第1行为列标 签, 若 Head=None,表示没有列标签,这时pandas会给你默认的列索引 0,1....
names: 列表list格式,用来改变列索引的名字;需要和列数对应
skiprows: 表示缺省第几行,是个list格式
index_col:指定用哪一列作为行索引
上个例子 ,比如说,我们读取一个这样的表格,其中不读取第4行和第10行
import pandas as pd
df = pd.read_excel('a.xlsx', sheet_name='Sheet1',
header=0, # 第1行为列标签
skiprows=[4-1, 10-1],
index_col=None)
print(df.head(5))
"""
结果为:
河流 含氧量(ppm) PH值 细菌总数(个/mL) 植物性营养物量(ppm)
0 A 4.69 6.59 51 11.94
1 B 2.03 7.86 19 6.46
2 D 8.61 7.05 46 26.43
3 E 7.13 6.50 50 23.57
4 F 2.39 6.77 38 24.62
"""
2.2 Excel文件的写入
属性:df.to_excel(excel_writer,sheet_name='sheet1',index=True,header=True)
参数: excel_writer:保存的路径
sheet_name:保存表的名字
index :是否保存行索引
header:是否保存列索引
注:如果要修改DataFrame类型的值,请使用 df.loc[行索引,列索引] = 变量 的方式来更改值,不宜使用df.loc[行索引][列索引]=变量,因df.loc[行索引][列索引]可能会操作副本的值,会发生警告。
3. csv文件
3.1 csv文件读入
函数:pd.read_csv(io,sep=',',header=0,index_col=None,names=None, skiprows=None,encoding=None)
参数解析:
io :路径,可以是绝对路径,也可以是相对路径
sep :默认为',',表示用sep来分割csv文件
header: 表示第(header+1)行作为列标签(Excel没有第0行)。如Head=0,表示第1行为列标 签, 若 Head=None,表示没有列标签,这时pandas会给你默认的列索引 0,1....
index_col:指定用哪一列作为行索引
names: 列表list格式,用来改变列索引的名字;需要和列数对应
skiprows: 表示缺省第几行,是个list格式
encoding: 设置编码格式,常用'utf-8'格式
3.2 csv文件写入
属性:df.to_csv(path_or_buf,sep=', ',index=True,header=True)
参数: path_or_buf:保存的路径
sep:分割的方式
index :是否保存行索引
header:是否保存列索引