python的concat等多种用法详解


Posted in Python onNovember 28, 2018

本文为大家分享了python的concat等多种用法,供大家参考,具体内容如下

1、numpy中的concatenate()函数:

>>> a = np.array([[1, 2], [3, 4]])
>>> b = np.array([[5, 6]])
>>> np.concatenate((a, b), axis=0)
array([[1, 2],
    [3, 4],
    [5, 6]])
>>> np.concatenate((a, b.T), axis=1)
array([[1, 2, 5],
    [3, 4, 6]])

2、pandas中的merge,concat,join

# In[]:数据的合并
# 1 ,merge,类似数据库中的
# (1)内连接,pd.merge(a1, a2, on='key')
# (2)左连接,pd.merge(a1, a2, on='key', how='left')
# (3)右连接,pd.merge(a1, a2, on='key', how='right')
# (4)外连接, pd.merge(a1, a2, on='key', how='outer')
data1 = pd.DataFrame(
  np.arange(0,16).reshape(4,4),
  columns=list('abcd')
)
data1
data2 = [
  [4,1,5,7],
  [6,5,7,1],
  [9,9,123,129],
  [16,16,32,1]
]
data2 = pd.DataFrame(data2,columns = ['a','b','c','d'])
data2
# 内连接 ,交集
pd.merge(data1,data2,on=['b'])
# 左连接 注意:如果 on 有两个条件,on = ['a','b']
# how = 'left','right','outer'
pd.merge(data1,data2,on='b',how='left')
 
# 2,append,相当于R中的rbind
# ignore_index = True:这个时候 表示index重新记性排列,而且这种方法是复制一个样本
data1.append(data2,ignore_index = True)
 
# 3,join
data2.columns=list('pown')
# 列名不能重叠:在这里的用法和R中rbind很像,但是join的用法还是相对麻烦的
result = data1.join(data2)
result
 
# 4,concat 这个方法能够实现上面所有的方法的效果
# concat函数是pandas底下的方法,可以把数据根据不同的轴进行简单的融合
# pd.concat(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:0 行,1列
# join:inner,outer
 
# a,相同字段表首尾巴相接
data1.columns = list('abcd')
data2.columns =list('abcd')
data3 = data2
# 为了更好的查看连接后的数据来源,添加一个keys更好查看
pd.concat([data1,data2,data3],keys=['data1','data2','data3'])
 
# b ,列合并(也就是行对齐):axis = 1,
 
pd.concat([data1,data2,data3],axis = 1,keys = ['data1','data2','data3'])
 
data4 = data3[['a','b','c']]
# 在有些数据不存在的时候,会自动填充NAN
pd.concat([data1,data4])
 
# c:join:inner 交集,outer ,并集
pd.concat([data1,data4],join='inner')
 
# 在列名没有一个相同的时候会报错
# data4.index = list('mnp')
# pd.concat([data1,data4])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python urlopen 使用小示例
Sep 06 Python
python循环监控远程端口的方法
Mar 14 Python
在Python中使用模块的教程
Apr 27 Python
python 爬取微信文章
Jan 30 Python
Python MD5加密实例详解
Aug 02 Python
python3+PyQt5+Qt Designer实现扩展对话框
Apr 20 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
利用Python如何批量更新服务器文件
Jul 29 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
Feb 10 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
详解python中的闭包
Sep 07 Python
Pytorch实现图像识别之数字识别(附详细注释)
May 11 Python
CentOS下Python3的安装及创建虚拟环境的方法
Nov 28 #Python
python dataframe向下向上填充,fillna和ffill的方法
Nov 28 #Python
在python中只选取列表中某一纵列的方法
Nov 28 #Python
手把手教你如何安装Pycharm(详细图文教程)
Nov 28 #Python
python 使用re.search()筛选后 选取部分结果的方法
Nov 28 #Python
Python读取excel指定列生成指定sql脚本的方法
Nov 28 #Python
Python从Excel中读取日期一列的方法
Nov 28 #Python
You might like
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
javascript和jquery实现用户登录验证
2016/05/04 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
JavaScript实现简单评论功能
2017/08/17 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
js实现抽奖功能
2020/11/24 Javascript
Python中字符串的格式化方法小结
2016/05/03 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
Python基于内置函数type创建新类型
2020/10/22 Python
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
DataList 能否分页,请问如何实现?
2015/05/03 面试题
逻辑链路控制协议
2016/10/01 面试题
迎接领导欢迎词
2014/01/11 职场文书
委托书样本
2014/04/02 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
协议书范文
2015/01/27 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
人力资源部工作计划
2019/05/14 职场文书
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python