Pandas中DataFrame数据合并、连接(concat、merge、join)之concat

一、concat:沿着一条轴,将多个对象堆叠到一起

concat(objs, axis=0, join=‘outer‘, join_axes=None, ignore_index=False,
       keys=None, levels=None, names=None, verify_integrity=False, copy=True): 

objs:需要连接的对象集合,一般是列表或字典;

axis:连接轴向;

join:参数为‘outer’或‘inner’;

join_axes=[]:指定自定义的索引;

keys=[]:创建层次化索引;

ignore_index=True:重建索引

pd.concat()只是单纯的把两个表拼接在一起,参数axis是关键,它用于指定是行还是列,axis默认是0。

当axis=0时,pd.concat([obj1, obj2])的效果与obj1.append(obj2)是相同的;

当axis=1时,pd.concat([obj1, obj2], axis=1)的效果与pd.merge(obj1, obj2, left_index=True, right_index=True, how=‘outer‘)是相同的。merge方法的介绍请参看下文。

import  pandas as pd
import numpy  as np
random = np.random.RandomState(0)  #随机数种子,相同种子下每次运行生成的随机数相同
df1=pd.DataFrame(random.randn(3,4),columns=[‘a‘,‘b‘,‘c‘,‘d‘])
df1

random = np.random.RandomState(0)
df2=pd.DataFrame(random.randn(2,3),columns=[‘b‘,‘d‘,‘a‘],index=["a1","a2"])
df2

random = np.random.RandomState(1)
df22=pd.DataFrame(random.randn(3,3),columns=[‘b‘,‘d‘,‘a‘],index=[‘1‘,"a1","a2"])
df22

当axis=0时

pd.concat([df1,df2],axis=0)

pd.concat([df1,df2],axis=0,join="outer")

df12=df1.append(df2)
df12

pd.concat([df1,df2],axis=0,join="inner")

当axis=1时

pd.concat([df1,df2],axis=1,join=‘inner‘)

pd.concat([df1,df1],axis=1,join=‘inner‘) #和outer一样

pd.concat([df1,df2],axis=1,join="outer")

pd.concat([df1,df22],axis=1,join="inner")

pd.concat([df1,df22],axis=1,join="outer")

pd.concat([df1,df1],axis=1,join="outer")

原文地址:https://www.cnblogs.com/wqbin/p/10363598.html

时间: 2024-11-08 23:00:53

Pandas中DataFrame数据合并、连接(concat、merge、join)之concat的相关文章

Pandas中DataFrame数据合并、连接(concat、merge、join)之merge

二.merge:通过键拼接列 类似于关系型数据库的连接方式,可以根据一个或多个键将不同的DatFrame连接起来. 该函数的典型应用场景是,针对同一个主键存在两张不同字段的表,根据主键整合到一张表里面. merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x', '_y'), copy=Tr

Pandas中DataFrame数据合并、连接(concat、merge、join)之join

pandas.DataFrame.join 自己弄了很久,一看官网.感觉自己宛如智障.不要脸了,直接抄 DataFrame.join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False) Join columns with other DataFrame either on index or on a key column. Efficiently Join multiple DataFrame objects by in

短视频学习 - 6、pandas之DataFrame数据合并

今日内容 # DataFrame的concat.merge.append操作 简介 # Pandas 的两个主要数据结构,Series(1维)和DataFrame(2维) # 整理数据.清理数据,分析数据.数据建模,然后将分析结果组织成适合绘图或表格显示的形式 常用操作 # 分片合并 concat # 融合结合 merge <{'key': ['func', 'func'], 'v1': [1, 2]},{'key': ['func', 'func'], 'v2': [3,4]}> # 追加

pandas中DataFrame

python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数据及属性 df_obj = DataFrame() #创建DataFrame对象 df_obj.dtypes #查看各行的数据格式 df_obj['列名'].astype(int)#转换某列的数据类型 df_obj.head() #查看前几行的数据,默认前5行 df_obj.tail() #查看后几

将pandas的DataFrame数据写入MySQL数据库 + sqlalchemy

将pandas的DataFrame数据写入MySQL数据库 + sqlalchemy [python] view plain copy print? import pandas as pd from sqlalchemy import create_engine ##将数据写入mysql的数据库,但需要先通过sqlalchemy.create_engine建立连接,且字符编码设置为utf8,否则有些latin字符不能处理 yconnect = create_engine('mysql+mysql

pandas中DataFrame相关

1.创建 1.1  标准格式创建 DataFrame创建方法有很多,常用基本格式是:DataFrame 构造器参数:DataFrame(data=[],index=[],coloumns=[]) In [272]: df2=DataFrame(np.arange(16).reshape((4,4)),index=['a','b','c','d'],columns=['one','two','three','four']) In [273]: df2 Out[273]: one two three

Pandas:DataFrame数据的更改、插入新增的列和行

一.更改DataFrame的某些值 1.更改DataFrame中的数据,原理是将这部分数据提取出来,重新赋值为新的数据. 2.需要注意的是,数据更改直接针对DataFrame原数据更改,操作无法撤销,如果做出更改,需要对更改条件做确认或对数据进行备份. 代码: import pandas as pd df1 = pd.DataFrame([['Snow','M',22],['Tyrion','M',32],['Sansa','F',18],['Arya','F',14]], columns=['

Tomcat中配置数据源和连接池

(1)为什么需要配置数据源和连接池? 我们知道在每次java程序俩接数据库的时候我们都需要请求连接数据库然后打开读取数据然后关闭, 这样使得每一个用户访问的时候都需要服务器做出相应,这样的话服务器端承受巨大的压力,如此效率就会下降, 为了解决这个问题我们可以让数据库提前打开连接等待用户连接当有用户连接的时候,就把数据库已存在的连接 给用户即可 而我们就把这条连接叫做"连接池"  当连接池中的连接足够的话 就分给用户,如果不够用户则在"|队列池"中等待: (2)实现过

dataframe的合并(append, merge, concat)

1,pd.concat:拼接1.1,axisdf1 = 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']) a     b     c     d0  0