python 把两个dataframe连接 将两个dataframe合成一个_dataframe两个表合并


根据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