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 数据加密代码
Dec 24 Python
python定时器(Timer)用法简单实例
Jun 04 Python
在windows下快速搭建web.py开发框架方法
Apr 22 Python
django开发之settings.py中变量的全局引用详解
Mar 29 Python
Anaconda多环境多版本python配置操作方法
Sep 12 Python
pytorch实现mnist数据集的图像可视化及保存
Jan 14 Python
Tensorflow 多线程与多进程数据加载实例
Feb 05 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
Feb 26 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
May 26 Python
MATLAB数学建模之画图汇总
Jul 16 Python
python exit出错原因整理
Aug 31 Python
使用Python Tkinter实现剪刀石头布小游戏功能
Oct 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
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
vue 解决异步数据更新问题
2019/10/29 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
关于python的list相关知识(推荐)
2017/08/30 Python
django 将model转换为字典的方法示例
2018/10/16 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
CSS3中currentColor关键字的妙用
2016/02/27 HTML / CSS
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
把富文本的回车转为br标签
2019/08/09 HTML / CSS
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
经典c++面试题四
2015/05/14 面试题
制药工程专业毕业生推荐信
2013/12/24 职场文书
科学发展观标语
2014/10/08 职场文书
女方离婚起诉书
2015/05/18 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书