当前位置: 首页 > 后端技术 > Python

pandas数据统计插件的连接函数concat()很神奇,可以灵活处理数据对象!

时间:2023-03-25 23:29:56 Python

众所周知,在pandas数据框中,主要有两种数据格式对象,一种是Series,一种是比较常见的DataFrame数据对象。pandas.concat()连接函数主要用来处理这两个对象的数据连接!【阅读全文】函数说明'''cancat()functionpd.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False,copy=True)参数说明:objs:DataFrame或Panel对象的Series、sequence或map。如果传递了字典,则排序后的键将用作键参数,除非它被传递,在这种情况下将选择值(见下文)。任何None对象都将被静默删除,除非它们都是None,在这种情况下将引发ValueError。axis:{0,1,...},默认为0.沿连接轴。加入:{'inner','outer'},默认'outer'。如何处理其他轴上的索引。外为并,内为交。ignore_index:布尔值,默认为False。如果为True,则不要在并列轴上使用索引值。生成的轴将标记为0,...,n-1。如果您要连接并列轴没有有意义的索引信息的对象,这将很有用。请注意,其他轴上的索引值在连接中仍然受到尊重。join_axes:索引对象列表。其他n-1轴的特定索引,而不是执行内部/外部设置逻辑。键:序列,默认无。使用传递的键作为最外层构建分层索引。对于多索引,应该使用元组。级别:序列列表,默认值无。用于构建MultiIndex的特定级别(唯一值)。否则,它们是从密钥中推断出来的。名称:列表,默认无。生成的分层索引中级别的名称。verify_integrity:布尔值,默认为False。检查新连接的轴是否重复。相对于实际的数据串联,这可能非常昂贵。副本:布尔值,默认为True。如果为False,则不要复制不必要的数据。'''系列数据处理commonmerge#导入pandas数据处理库importpandasaspd#初始化series_1数据对象series_1=pd.Series(['a','b','c'])#初始化series_2数据对象series_2=pd.Series(['c','d'])#Mergeseries_1,series_2res=pd.concat([series_1,series_2])#打印合并结果print(res)#0a#1b#2c#0c#1dignoreIndexMerge#Mergeseries_1,series_2,ignoreindexres=pd.concat([series_1,series_2],ignore_index=True)#打印合并结果print(res)#0a#1b#2c#3c#4d添加分层索引合并#合并series_1和series_2,忽略索引res=pd.concat([series_1,series_2],keys=['series_1','series_2'])#打印合并结果print(res)#series_10a#1b#2c#series_20c#1d添加数据列merge#合并series_1、series_2,添加数据列名res=pd.concat([series_1,series_2],keys=['series_1','series_2'],names=['SeriesID','index'])#打印合并结果print(res)#系列IDindex#series_10a#1b#2c#series_20c#1dDataFrame数据处理合并两个具有相同列的DataFrame对象#创建DataFrame对象dataframee_1dataframe_1=pd.DataFrame([['coding','python'],['type','1']],columns=['name','type'])#创建DataFrame对象dataframe_2dataframe_2=pd.DataFrame([['coding','java'],['type','2']],columns=['name','type'])#合并两个具有相同列的DataFrame对象dataframe_1,dataframe_2res=pd.concat([dataframe_1,dataframe_2])#打印合并的DataFrame对象print(res)#nametype#0codingpython#1type1#0codingjava#1type2mergeoverlappingDataFrame#createDataFrameobjectdataframe_3dataframe_3=pd.DataFrame([['coding','java','91'],['type','2','93']],columns=['name','type','score'])#合并两个不同的相同的DataFrameobjectsdataframe_1,dataframe_3#合并时不存在的列使用Nan值合并res=pd.concat([dataframe_1,dataframe_3],sort=False)#打印合并后的DataFrame对象print(res)#Nametypescore#0codingpythonNaN#1type1NaN#0codingjava91#1type293#join='inner',删除重叠列res=pd.concat([dataframe_1,dataframe_3],join='inner')print(res)#0编码python#1类型1#0编码java#1type2本文由微信公众号【蟒蛇集中营】一键发布,更多精彩文章视频资料收藏!