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 中文字符串的处理实现代码
Oct 25 Python
介绍Python的Django框架中的QuerySets
Apr 20 Python
python使用tornado实现简单爬虫
Jul 28 Python
django 自定义过滤器的实现
Feb 26 Python
基于python if 判断选择结构的实例详解
May 06 Python
python爬虫增加访问量的方法
Aug 22 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
May 25 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 Python
Keras-多输入多输出实例(多任务)
Jun 22 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
python playwrigh框架入门安装使用
Jul 23 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
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
如何用PHP实现插入排序?
2013/04/10 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php判断当前操作系统类型
2015/10/28 PHP
php反射类ReflectionClass用法分析
2016/05/12 PHP
php上传excel表格并获取数据
2017/04/27 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
Python中垃圾回收和del语句详解
2018/11/15 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
python、Matlab求定积分的实现
2019/11/20 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
高校自主招生自荐信
2013/12/09 职场文书
汽车促销活动方案
2014/03/31 职场文书
社会公德演讲稿
2014/05/20 职场文书
会计电算化专业求职信
2014/06/10 职场文书
材料员岗位职责
2015/02/10 职场文书
春季运动会加油词
2015/07/18 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
2021/06/11 Python
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫