大家晓得在pandas的数据框架中,数据格式对象次要有两种,一种是Series,另一种则是比拟常见的DataFrame数据对象。pandas.concat()连贯函数次要是用于解决这两种对象的数据连贯!

【浏览全文】

函数阐明

'''cancat()函数pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,          keys=None, levels=None, names=None, verify_integrity=False,          copy=True)          参数阐明:objs:Series,DataFrame或Panel对象的序列或映射。如果传递了dict,则排序的键将用作键参数,除非它被传递,在这种状况下,将抉择值(见下文)。任何无对象将被静默删除,除非它们都是无,在这种状况下将引发一个ValueError。axis:{0,1,...},默认为0。沿着连贯的轴。join:{'inner','outer'},默认为“outer”。如何解决其余轴上的索引。outer为联结和inner为交加。ignore_index:boolean,default False。如果为True,请不要应用并置轴上的索引值。后果轴将被标记为0,...,n-1。如果要连贯其中并置轴没有有意义的索引信息的对象,这将十分有用。留神,其余轴上的索引值在连贯中依然受到尊重。join_axes:Index对象列表。用于其余n-1轴的特定索引,而不是执行外部/内部设置逻辑。keys:序列,默认值无。应用传递的键作为最外层构建档次索引。如果为多索引,应该应用元组。levels:序列列表,默认值无。用于构建MultiIndex的特定级别(惟一值)。否则,它们将从键推断。names:list,default无。后果档次索引中的级别的名称。verify_integrity:boolean,default False。查看新连贯的轴是否蕴含反复项。这绝对于理论的数据串联可能是十分低廉的。copy:boolean,default True。如果为False,请勿不必要地复制数据。'''

Series 数据处理

一般合并

# 导入pandas数据处理库import pandas as pd# 初始化series_1数据对象series_1 = pd.Series(['a', 'b','c'])# 初始化series_2数据对象series_2 = pd.Series(['c', 'd'])# 合并series_1、series_2res = pd.concat([series_1, series_2])# 打印合并后果print(res)# 0    a# 1    b# 2    c# 0    c# 1    d

疏忽索引合并

# 合并series_1、series_2,疏忽索引res = pd.concat([series_1, series_2],ignore_index=True)# 打印合并后果print(res)# 0    a# 1    b# 2    c# 3    c# 4    d

增加分层索引合并

# 合并series_1、series_2,疏忽索引res = pd.concat([series_1, series_2],keys=['series_1','series_2'])# 打印合并后果print(res)# series_1  0    a#           1    b#           2    c# series_2  0    c#           1    d

增加数据列合并

# 合并series_1、series_2,增加数据列名res = pd.concat([series_1, series_2],keys=['series_1','series_2'],names=['Series ID', 'index'])# 打印合并后果print(res)# Series ID  index# series_1   0        a#            1        b#            2        c# series_2   0        c#            1        d

DataFrame 数据处理

合并两个雷同列的DataFrame对象

# 创立DataFrame对象dataframe_1dataframe_1 = pd.DataFrame([['coding', 'python'], ['type', '1']], columns=['名称', '类型'])# 创立DataFrame对象dataframe_2dataframe_2 = pd.DataFrame([['coding', 'java'], ['type', '2']], columns=['名称', '类型'])# 合并两个列雷同的DataFrame对象dataframe_1、dataframe_2res = pd.concat([dataframe_1, dataframe_2])# 打印合并DataFrame对象print(res)#        名称      类型# 0  coding  python# 1    type       1# 0  coding    java# 1    type       2

合并重叠的DataFrame

# 创立DataFrame对象dataframe_3dataframe_3 = pd.DataFrame([['coding', 'java','91'], ['type', '2','93']], columns=['名称', '类型','评分'])# 合并两个不雷同的DataFrame对象dataframe_1、dataframe_3# 合并时不存在的列则应用Nan值进行合并res = pd.concat([dataframe_1, dataframe_3],sort=False)# 打印合并DataFrame对象print(res)#        名称      类型   评分# 0  coding  python  NaN# 1    type       1  NaN# 0  coding    java   91# 1    type       2   93# join='inner',去除重叠穿插的列res = pd.concat([dataframe_1, dataframe_3],join='inner')print(res)# 0  coding  python# 1    type       1# 0  coding    java# 1    type       2
本文由WeiXin公众号【python 集中营】一键公布,更多精彩文章、视频材料即可支付!