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 相关文章推荐
python3图片转换二进制存入mysql
Dec 06 Python
Python的randrange()方法使用教程
May 15 Python
编写Python脚本抓取网络小说来制作自己的阅读器
Aug 20 Python
Python松散正则表达式用法分析
Apr 29 Python
Python中判断输入是否为数字的实现代码
May 26 Python
python 获取页面表格数据存放到csv中的方法
Dec 26 Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 Python
Django如何简单快速实现PUT、DELETE方法
Jul 24 Python
如何使用python代码操作git代码
Feb 29 Python
scrapy redis配置文件setting参数详解
Nov 18 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 Python
opencv-python图像配准(匹配和叠加)的实现
Jun 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
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
PHP 类相关函数的使用详解
2013/05/10 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
vuex的使用步骤
2021/01/06 Vue.js
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
Python模拟登录的多种方法(四种)
2018/06/01 Python
pycham查看程序执行的时间方法
2018/11/29 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
python对象销毁实例(垃圾回收)
2020/01/16 Python
python实时监控logstash日志代码
2020/04/27 Python
python类共享变量操作
2020/09/03 Python
python 实现波浪滤镜特效
2020/12/02 Python
大专毕业生自我鉴定
2013/11/21 职场文书
毕业生实习鉴定
2013/12/11 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
交通安全温馨提示语
2015/07/14 职场文书
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby