根据28定律,大部分能力来至于少量的重要工作。在学习Pandas过程中我们通过抓住使用频率最高的知识学习,放弃或者将来在学习其他深入但是使用率较低的知识达到3分功夫7分能力的目的,自然若想精通还需深入学习。因此在本专栏文章中,我会提炼最常用的功能,也会提供进一步学习的接口。
Pandas有两种标结构 Series和DataFrame两个数据结构,分别可以存储一维和二维数据。
一、通过excel、csv创建DataFrame
1、 从excel、csv等导入数据,创建DataFrame
掌握最简模式
import pandas as pd
path=r" E: xxxx.xlsx"(注意要加r)导入E盘下xxxx.xlsx
df=pd.read_excel(path) 或者df=pd.read_csv (path)
了解常用参数 excel和csv大致相同
read_excel(path, sheetname=0, header=0, skiprows=None, skip_footer=0, index_col=None,names=None)
path : excel 路径。 类型string, path object ;
sheetname : 导入sheet名称。类型string, int, mixed list of strings/ints, or None, default 0 。返回读取那个sheet的数据,使用sheetname=[0,1]读取多个表,若sheetname=None是返回全表 。
注意:int/string 返回的是dataframe,而none和list返回的是dict of dataframe
header 从那一例开始。:类型 int, list of ints, default 0 指定列名行,默认0,即取第一行,数据为列名行以下的数据 若数据不含列名,则设定 header = None
skiprows : 类型:list-like,Rows to skip at the beginning省略指定行数的数据
skip_footer : 类型intdefault 0,省略从尾部数的int行数据
index_col : 类型 int, list of ints, default None指定列为索引列,也可以使用u”strings”
names : 类型array-like,default None, 指定列的名字。
2、导出DataFrame到excel和csv
2.1 掌握导出到excel的最简模式
df.to_excel(path1, encoding = 'utf-8')
# ,如果数据中含有中文,一般encoding指定为‘utf-8’
了解常用参数 excel和csv大致相同
to_excel(path, sheetname='Sheet1', na_rep='', columns=None, header=True, index=True, index_label=None,startrow=0, startcol=0, encoding=None)
sheetname : 填充excel的第几页 ,类型string, default ‘Sheet1’
narep : 缺失值填充内容, 类型:string, default 为空字符串 “ ”
columns : 类型:sequence, optional,Columns to write 选择输出的的列。 header : 类型:boolean or list of string,
默认为True,可以用list命名列的名字。header = False 则不输出题头。
encoding: string,如果数据中含有中文,一般encoding指定为‘utf-8’
startrow=0, startcol=0 excel 中开始放入DateFrame数据的起始行列。
注意:如何在导出到excel时实现追加,导入excel时是写覆盖,这是因为自动关闭writer的原因,改成先导出、再保存、然后关闭writer可以实现追加写。
writer = pd.ExcelWriter(filepath)
df.to_excel(excel_writer=writer,sheet_name='test ')
writer.save()
writer.close()
2.2 导出到CSV,df.to_csv (path1, encoding = 'utf-8')
详细参数csv和excel大致相同,注意以下2点
导出到csv格式可以更方便的实现追加写
to_csv(mode='a')
导出到csv格式可以制定分隔符,以?为分割符号举例
to_csv(path,sep='?')
二、通过Python的数据类型创建DataFrame