陕西示范校建设专题网站,怎么查在建工地的信息,丫个网站建设博客,谷歌seo优化技巧5.1 合并数据 5.1.1 堆叠合并数据1、横向堆叠 concat()2、纵向堆叠 concat()和append() 5.1.2 主键合并数据 merge()和join()5.1.3 重叠合并数据 combine_first() 5.1.1 堆叠合并数据 堆叠就是简单地把两个表拼在一起#xff0c;也被称作轴向连接、绑定或连接。依照连接轴的方… 5.1 合并数据 5.1.1 堆叠合并数据1、横向堆叠 concat()2、纵向堆叠 concat()和append() 5.1.2 主键合并数据 merge()和join()5.1.3 重叠合并数据 combine_first() 5.1.1 堆叠合并数据 堆叠就是简单地把两个表拼在一起也被称作轴向连接、绑定或连接。依照连接轴的方向数据堆叠可以分为横向堆叠和纵向堆叠。
1、横向堆叠 concat() 横向堆叠即将两个表在X轴向拼接在一起可以使用concat函数完成concat函数的基本语法如下。 pandas.concat(objs, axis0, join‘outer’, join_axesNone, ignore_indexFalse, keysNone, levelsNone, namesNone, verify_integrityFalse, copyTrue) 当axis1的时候concat做行对齐然后将不同列名称的两张或多张表合并。当两个表索引不完全一样时可以使用join参数选择是内连接还是外连接。在内连接的情况下仅仅返回索引重叠部分。在外连接的情况下则显示索引的并集部分数据不足的地方则使用空值填补。 横向堆叠外连接示例如下
## 1、横向堆叠 concat()
import numpy as np
import pandas as pd
path1 E:/Input/5_1_swc12.csv
path2 E:/Input/5_1_swc34.csv
df1 pd.read_csv(path1)
print(df1:, df1.shape)
print(df1)
df2 pd.read_csv(path2)
print(df2:, df2.shape)
print(df2)outer_data pd.concat([df1,df2], axis 1, joinouter,keys Date)
print(外连接data:, outer_data.shape)
print(outer_data)
inner_data pd.concat([df1,df2], axis 1, joininner, keys Date)
print(内连接data:, inner_data.shape)
print(inner_data)Notes: 当两张表完全一样时不论join参数取值是inner或者outer结果都是将两个表完全按照X轴拼接起来。
2、纵向堆叠 concat()和append()
1concat() 使用concat函数时在默认情况下即axis0时concat做列对齐将不同行索引的两张或多张表纵向合并。在两张表的列名并不完全相同的情况下可join参数取值为inner时返回的仅仅是列名交集所代表的列取值为outer时返回的是两者列名的并集所代表的列纵向堆叠外连接示例如图所示。
outer_data pd.concat([df1,df2], axis 0, joinouter,keys Date)
print(纵向堆叠外连接data:, outer_data.shape)
print(outer_data)
inner_data pd.concat([df1,df2], axis 0, joininner, keys Date)
print(纵向堆叠内连接data:, inner_data.shape)
print(inner_data)Notes: 当两张表完全一样时不论join参数取值是inner或者outer结果都是将两个表完全按照Y轴拼接起来。 2append() #append方法已弃用并将在未来的版本中从pandas中删除。 append方法也可以用于纵向合并两张表。但是append方法实现纵向表堆叠有一个前提条件那就是两张表的列名需要完全一致。 pandas.DataFrame.append(self, other, ignore_indexFalse, verify_integrityFalse)。 path1 E:/Input/5_1_swc12.csv
path3 E:/Input/5_1_swc12_副本.csv
df1 pd.read_csv(path1)
print(df1:, df1.shape)
print(df1)
df3 pd.read_csv(path3)
print(df3:, df3.shape)
print(df3)data df1.append(df3)
print(data:, data.shape)
print(data)5.1.2 主键合并数据 merge()和join() 主键合并即通过一个或多个键将两个数据集的行连接起来类似于SQL中的JOIN。针对同一个主键存在两张包含不同字段的表将其根据某几个字段一一对应拼接起来结果集列数为两个元数据的列数和减去连接键的数量。 1merge函数 和数据库的join一样merge函数也有左连接left、右连接right、内连接inner和外连接outer但比起数据库SQL语言中的join和merge函数还有其自身独到之处例如可以在合并过程中对数据集中的数据进行排序等。 pandas.merge(left, right, how‘inner’, onNone, left_onNone, right_onNone, left_indexFalse, right_indexFalse, sortFalse, suffixes(‘_x’, ‘_y’), copyTrue, indicatorFalse) 可根据merge函数中的参数说明并按照需求修改相关参数就可以多种方法实现主键合并。
# 5.1.2 主键合并数据 merge()
# df1 pd.read_csv(path1)
print(df1)
# df2 pd.read_csv(path2)
print(df2)
# 合并
# data pd.merge(df1, df2, onDate, how outer) # 与下面一样
data pd.merge(df1, df2, left_onDate, right_onDate,how outer)
print(data)
# 合并并根据连接键排序
data pd.merge(df1, df2, onDate, how outer,sort True)
print(data)1join函数 join方法也可以实现部分主键合并的功能但是join方法使用时两个主键的名字必须相同。 pandas.DataFrame.join(self, other, onNone, how‘left’, lsuffix‘’, rsuffix‘’, sortFalse) 5.1.3 重叠合并数据 combine_first() 数据分析和处理过程中若出现两份数据的内容几乎一致的情况但是某些特征在其中一张表上是完整的而在另外一张表上的数据则是缺失的时候可以用combine_first方法进行重叠数据合并其原理如下。 pandas.DataFrame.combine_first(other) # 5.1.3 重叠合并数据
path5 E:/Input/5_1_swc12 - 副本.csv
path6 E:/Input/5_1_swc12 - 副本 (2).csv
df5 pd.read_csv(path5)
print(df5)
df6 pd.read_csv(path6)
print(df6)
# 合并
data df5.combine_first(df6)
print(data)