Pandas 合并数据

axis合并方向

import pandas as pd
import pickle
import numpy as np

df1 = pd.DataFrame(np.ones((3,4))*0, columns=[‘a‘,‘b‘,‘c‘,‘d‘])
df2 = pd.DataFrame(np.ones((3,4))*1, columns=[‘a‘,‘b‘,‘c‘,‘d‘])
df3 = pd.DataFrame(np.ones((3,4))*2, columns=[‘a‘,‘b‘,‘c‘,‘d‘])

#0表示竖项合并 1表示横项合并 ingnore_index重置序列index index变为0 1 2 3 4 5 6 7 8
res = pd.concat([df1, df2, df3], axis=0, ignore_index=True)
print(res)

输出

     a    b    c    d
0  0.0  0.0  0.0  0.0
1  0.0  0.0  0.0  0.0
2  0.0  0.0  0.0  0.0
3  1.0  1.0  1.0  1.0
4  1.0  1.0  1.0  1.0
5  1.0  1.0  1.0  1.0
6  2.0  2.0  2.0  2.0
7  2.0  2.0  2.0  2.0
8  2.0  2.0  2.0  2.0

join合并方式

import pandas as pd
import pickle
import numpy as np

df1 = pd.DataFrame(np.ones((3,4))*0, columns=[‘a‘,‘b‘,‘c‘,‘d‘], index=[1,2,3])
df2 = pd.DataFrame(np.ones((3,4))*1, columns=[‘b‘,‘c‘,‘d‘, ‘e‘], index=[2,3,4])
print(df1)
print(df2)
res=pd.concat([df1,df2],axis=1,join=‘outer‘)#行往外进行合并,并集
print(res)
res=pd.concat([df1,df2],axis=1,join=‘inner‘)#行相同的进行合并,合并都有的行,交集
print(res)
res=pd.concat([df1,df2],axis=1,join_axes=[df1.index])#以df1的序列进行合并 df2中没有的序列NaN值填充
print(res)

输出

     a    b    c    d
1  0.0  0.0  0.0  0.0
2  0.0  0.0  0.0  0.0
3  0.0  0.0  0.0  0.0
     b    c    d    e
2  1.0  1.0  1.0  1.0
3  1.0  1.0  1.0  1.0
4  1.0  1.0  1.0  1.0
     a    b    c    d    b    c    d    e
1  0.0  0.0  0.0  0.0  NaN  NaN  NaN  NaN
2  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0
3  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0
4  NaN  NaN  NaN  NaN  1.0  1.0  1.0  1.0
     a    b    c    d    b    c    d    e
2  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0
3  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0
     a    b    c    d    b    c    d    e
1  0.0  0.0  0.0  0.0  NaN  NaN  NaN  NaN
2  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0
3  0.0  0.0  0.0  0.0  1.0  1.0  1.0  1.0

append添加数据

原文地址:https://www.cnblogs.com/sea-stream/p/10319874.html

时间: 2024-08-30 06:54:41

Pandas 合并数据的相关文章

使用pandas进行数据预处理01

数据预处理有四种技术:数据合并,数据清洗,数据标准化,以及数据转换. 数据合并技术:(1)横向或纵向堆叠合数据 (2)主键合并数据 (3)重叠合并数据 1.堆叠合并数据: 堆叠就是简单的把两个表拼接在一起,也被称作轴向连接,绑定,或连接.依照连接轴的方向,数据堆叠可分为横向堆叠和纵向堆叠. (1)横向堆叠,即将两个表在x轴向拼接在一起,可以使用concat函数完成.基本语法为pandas.concat().当两个表索引不完全一样时, ,可以使用join参数选择是内连接还是外连接.在内连接的情况下

python Pandas 读取数据,写入文件

pandas 选取数据 iloc和 loc的用法不太一样,iloc是根据索引, loc是根据行的数值 >>> import pandas as pd >>> import os >>> os.chdir("D:\\") >>> d = pd.read_csv("GWAS_water.qassoc", delimiter= "\s+") >>> d.loc[1

合并数据

SQL Server 2008 引入了一个称为MERGE 的语句,它能在一条语句中根据逻辑条件对数据进行不同的修改操作(INSERT.UPDATE和DELETE).MERGE语句是SQL 标准的一部分,而T-SQL版本的MERGE语句也增加了一些非标准的扩展. 因为MERGE语句是新增的,所以必须使用SQL Server 2008. 使用MERGE语句的好处是:用较少的代码就可以表达需求,提高查询性能,因为它可以更少地访问查询涉及表. MERGE INTO dbo.Customers AS TG

POI Excel 合并数据相同的行

import java.io.Serializable; /** * POI Excel报表导出,列合并实体<br> * * @author WQ * */ public class PoiModel implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private String content; private String oldContent; private int ro

SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题

原文:SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题 本文出处:http://www.cnblogs.com/wy123/p/7884986.html 周围又有人在讨论UNION和UNION ALL,对于UNION和UNION ALL,网上说的最多的就是性能问题(实在不想说出来这句话:UNION ALL比UNION快)其实根本不想炒UNION和UNION ALL这碗剩饭了,每次看到网上说用这个不用那个,列举的一条一条的那种文章,只要看到说U

Python,使用pandas保存数据为csv格式的文件

使用pandas对数据进行保存时,可以有两种形式进行保存 一.对于数据量不是很大的文件,可以放到列表中,进行一次性存储. 二.对于大量的数据,可以考虑一边生成,一边存储,可以避免开辟大量内存空间,去往列表中存储数据. 本人才疏学浅,只懂一些表面的东西,如有错误,望请指正! 下面通过代码进行说明 1 import pandas as pd 2 3 4 class SaveCsv: 5 6 def __init__(self): 7 self.clist = [[1,2,3], [4,5,6], [

利用 Python 进行数据分析(十二)pandas:数据合并

pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法combine_first()方法:合并重叠数据. pandas.merge()方法:数据库风格的合并 例如,通过merge()方法将两个DataFrame合并: on='name'的意思是将name列当作键: 默认情况下,merge做的是内连接(inner),即键的交集. 其他方式还有左连接(lef

pandas合并/连接

Pandas具有功能全面的高性能内存中连接操作,与SQL等关系数据库非常相似.Pandas提供了一个单独的merge()函数,作为DataFrame对象之间所有标准数据库连接操作的入口 - pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True) Python 在这里,有以下几个参数可以使用 - left - 一个

Pandas 合并merge

pandas中的merge和concat类似,但主要是用于两组有key column的数据,统一索引的数据. 通常也被用在Database的处理当中. 1.依据一组key合并 >>> import pandas as pd >>> left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'], ... 'A': ['A0', 'A1', 'A2', 'A3'], ... 'B': ['B0', 'B1', 'B2', 'B3'