1.append函数
1.1list:列表
list.append(obj)
在列表尾添加一个新的对象;该方法无返回值,但是会修改原列表
1.2pandas:
与list写法相同
仅支持行方向上的拼接
data.append(other, ignore_index=False, verify_integrity=False, sort=False) → ’DataFrame’
Series.append(to_append, ignore_index=False, verify_integrity=False)
other:要拼接的其他对象
ignore_index:连接后是否重建索引
verify_integrity:默认是False 如果是True,则对具有重复的索引项报错
sort:默认是False 如果self和other的列没有对齐,则对列进行排序。显示传递sort=True,则进行排序。
data1.append(data2) 效果相当于默认的concat axis=0,join=outer
1.3numpy:
append函数
numpy.append(arr, values, axis=None)
一个数组与值拼接或者两个数组拼接,不可三个及以上数组直接append拼接
axis为可选值,当axis无定义时,返回总是为一维数组
如下:
axis=0时:
axis=0,数组相加加在了行上。所以相加数组的列数需一致
同理,当axis=1,数组相加加在了列上。所以相加数组的行数需一致
注意:python中字符串无append方法
2.concat:融合
numpy有concatenate函数,pandas有concate函数,均可实现数组的拼接
numpy.concatenate((a1,a2,…), axis=0/1)函数。能够一次完成多个数组的拼接。其中a1,a2,…是数组类型的参数
numpy.concatenate()需要拼接数组的维度相同
numpy的concatenate()比append()效率更高,适合大规模的数据拼接,能够一次完成多个数组的拼接
axis=1时,需要行数一致;axis=0,需要列数一致
列数不一致时报错
pandas:
pandas与numpy区别:对于行数/列数是否相等没有要求,空的地方用Nan表示;且两个数组的维度不一定要相同
可以把数据根据不同的轴进行简单的融合
pandas.concate(objs,axis=0,join= ‘outer’,join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False)
参数:
objs:需要连接的对象集合,Series,DataFrame或Panel组成的列表list
axis:连接轴向;
join:参数为‘outer’或‘inner’;
keys=[]:创建层次化索引,默认为无
join_axes:指定根据哪个轴来对齐数据
ignore_index=True:连接后重建索引
pandas默认axis=0,join=‘outer’,ignore_index=False
如:
3.extend
列表list与numpy均有该函数
list:
extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表
list.extend(seq)
该方法没有返回值,但会在已存在的列表中添加新的列表内容
numpy:
只适用于简单的一维数组,对于大量数据的拼接一般不建议使用
注意:这个函数要求拼接的两个都是list格式,如果不是,就用.tolist()函数转换一下