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通过urllib2爬网页上种子下载示例
Feb 24 Python
python通过BF算法实现关键词匹配的方法
Mar 13 Python
讲解Python中fileno()方法的使用
May 24 Python
使用Python导出Excel图表以及导出为图片的方法
Nov 07 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
python sort、sort_index方法代码实例
Mar 28 Python
Python字典的概念及常见应用实例详解
Oct 30 Python
python-web根据元素属性进行定位的方法
Dec 13 Python
Python批量安装卸载1000个apk的方法
Apr 10 Python
python基于pygame实现飞机大作战小游戏
Nov 19 Python
python 实现定时任务的四种方式
Apr 01 Python
Python办公自动化之Excel(中)
May 24 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
用函数读出数据表内容放入二维数组
2006/10/09 PHP
MySQL连接数超过限制的解决方法
2011/07/17 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
详解Python多线程
2016/11/14 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
2020/01/15 Python
python时间日期操作方法实例小结
2020/02/06 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
体育专业个人的求职信范文
2013/09/21 职场文书
学校教师安全责任书
2014/07/23 职场文书
庭外和解协议书
2016/03/23 职场文书
javascript的setTimeout()使用方法总结
2021/11/20 Javascript
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python
使用Ajax实现无刷新上传文件
2022/04/12 Javascript
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python