>>> frame2
addr age name
0 beijing 12 zhang
1 shanghai 24 li
2 hangzhou 24 cao
>>> frame1
addr name
0 beijing zhang
1 shanghai li
2 hangzhou cao
3 shenzhen han
>>> pd.merge(frame1,frame2) 以name列为连接进行拼接
addr name age
0 beijing zhang 12
1 shanghai li 24
2 hangzhou cao 24
>>> pd.merge(frame1,frame2,on='name') 指定 列 和拼接方式
addr_x name addr_y age
0 beijing zhang beijing 12
1 shanghai li shanghai 24
2 hangzhou cao hangzhou 24
>>> pd.merge(frame1,frame2,on='name',how='outer')
addr_x name addr_y age
0 beijing zhang beijing 12.0
1 shanghai li shanghai 24.0
2 hangzhou cao hangzhou 24.0
3 shenzhen han NaN NaN
>>> pd.merge(frame1,frame2,on='name',how='inner')
addr_x name addr_y age
0 beijing zhang beijing 12
1 shanghai li shanghai 24
2 hangzhou cao hangzhou 24
>>> pd.merge(frame1,frame2,on='name',how='left')
addr_x name addr_y age
0 beijing zhang beijing 12.0
1 shanghai li shanghai 24.0
2 hangzhou cao hangzhou 24.0
3 shenzhen han NaN NaN
>>> pd.merge(frame1,frame2,on='name',how='right')
addr_x name addr_y age
0 beijing zhang beijing 12
1 shanghai li shanghai 24
2 hangzhou cao hangzhou 24
>>> pd.merge(frame1,frame2,on='name',left_index=True)
addr_x name addr_y age
0 beijing zhang beijing 12
1 shanghai li shanghai 24
2 hangzhou cao hangzhou 24
>>> pd.merge(frame1,frame2,on='name',right_index=True)
addr_x name addr_y age
0 beijing zhang beijing 12
1 shanghai li shanghai 24
2 hangzhou cao hangzhou 24
>>> pd.merge(frame1,frame2,on='addr',right_index=True)
addr name_x age name_y
0 beijing zhang 12 zhang
1 shanghai li 24 li
2 hangzhou cao 24 cao
 >>> frame1.columns=['addr1','name1']
>>> frame1.join(frame2)
addr1 name1 addr age name 修改掉重复的列名称,然后join()
0 beijing zhang beijing 12.0 zhang
1 shanghai li shanghai 24.0 li
2 hangzhou cao hangzhou 24.0 cao
3 shenzhen han NaN NaN NaN
 >>> array1
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> array1=np.arange(9).reshape((3,3))+6
>>> array2=np.arange(9).reshape((3,3))
>>> array1
array([[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14]])
>>> np.concatenate([array1,array2],axis=1) np模块中对元组进行concatenate()
array([[ 6, 7, 8, 0, 1, 2],
[ 9, 10, 11, 3, 4, 5],
[12, 13, 14, 6, 7, 8]])
>>> np.concatenate([array1,array2],axis=0)
array([[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14],
[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]])
>>>
>>> np.concatenate([array1,array2])
array([[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14],
[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]])
 >>> ser1=pd.Series(np.random.rand(4))   pd模块中也有concat()
>>> ser1
0 0.998915
1 0.117503
2 0.747180
3 0.641508
dtype: float64
>>> ser1=pd.Series(np.random.rand(4)*100)
>>> ser1
0 8.818592
1 42.317816
2 43.274021
3 23.245148
dtype: float64
>>> ser2=pd.Series(np.random.rand(4)*100,index=[5,6,7,8])
>>> ser2
5 58.416554
6 11.840838
7 38.146851
8 0.135517
dtype: float64
>>> pd.concat([ser1,ser2])
0 8.818592
1 42.317816
2 43.274021
3 23.245148
5 58.416554
6 11.840838
7 38.146851
8 0.135517
dtype: float64
>>> pd.concat([ser1,ser2],axis=1)
0 1
0 8.818592 NaN
1 42.317816 NaN
2 43.274021 NaN
3 23.245148 NaN
5 NaN 58.416554
6 NaN 11.840838
7 NaN 38.146851
8 NaN 0.135517
 >> pd.concat([ser1,ser2],axis=1,keys=[1,2])
1 2
0 8.818592 NaN
1 42.317816 79.632793
2 43.274021 96.700070
3 23.245148 64.573269
4 NaN 68.629709
>>> ser2.index=[2,4,5,6]
>>> ser2
2 79.632793
4 96.700070
5 64.573269
6 68.629709
dtype: float64
>>> ser1.combine_first(ser2) 对缺额的数据进行填充 combin_first()
0 8.818592
1 42.317816
2 43.274021
3 23.245148
4 96.700070
5 64.573269
6 68.629709
dtype: float64
 >>> ser1
0 a
1 b
2 c
3 d
dtype: object
>>> ser2
2 0
4 1
5 2
6 3
dtype: int32
>>> ser2.combine_first(ser1) ser1在后
0 a
1 b
2 0
3 d
4 1
5 2
6 3
dtype: object
>>> ser1[:2].combine_first(ser2) ser1在前
0 a
1 b
2 0
4 1
5 2
6 3
dtype: object
 >>> frame1=pd.DataFrame({'name':['zhang','li','wang'],'age':[12,45,34],'addr':['beijing','shanghai','shenzhen']})
>>> frame1
addr age name
0 beijing 12 zhang
1 shanghai 45 li
2 shenzhen 34 wang
>>> frame1.stack() frame的进栈和出栈
0 addr beijing
age 12
name zhang
1 addr shanghai
age 45
name li
2 addr shenzhen
age 34
name wang
dtype: object
>>> frame1.stack().unstack()
addr age name
0 beijing 12 zhang
1 shanghai 45 li
2 shenzhen 34 wang
>>> frame1.stack().unstack(0) 列和索引转换
0 1 2
addr beijing shanghai shenzhen
age 12 45 34
name zhang li wang
 >>> longframe=pd.DataFrame({'color':['white','white','white','red','red','red','black','black','black'],'item':['ball','pen','mug','ball','pen','mug','ball','pen','mug'],'value':np.random.rand(9)})
>>> longframe
color item value 对冗余的消除,将longframe转换为wideframe
0 white ball 0.260358
1 white pen 0.543955
2 white mug 0.456874
3 red ball 0.967021
4 red pen 0.657271
5 red mug 0.984256
6 black ball 0.550236
7 black pen 0.731625
8 black mug 0.006728
>>> wideframe=longframe.pivot('color','item')
>>> wideframe
value
item ball mug pen
color
black 0.550236 0.006728 0.731625
red 0.967021 0.984256 0.657271
white 0.260358 0.456874 0.543955
>>> frame1
addr age name
0 beijing 12 zhang
1 shanghai 12 li
2 beijing 12 wang
>>> del frame['addr']
Traceback (most recent call last):
File "<pyshell#103>", line 1, in <module>
del frame['addr']
NameError: name 'frame' is not defined
>>> del frame1['addr']
>>> frame1
age name
0 12 zhang
1 12 li
2 12 wang

panda库------对数据进行操作---合并,转换,拼接的更多相关文章

  1. mysql数据表操作&库操作

    首先登陆mysql:mysql -uroot -proot -P3306 -h127.0.0.1 查看所有的库:show databases; 进入一个库:use database; 显示所在的库:s ...

  2. MySQL数据库(2)- 库的操作、表的操作、数据的操作、存储引擎的介绍

    一.库的操作 1.系统数据库 执行如下命令,查看系统数据库: mysql> show databases; 参数解释: information_schema: 虚拟库,不占用磁盘空间,存储的是数 ...

  3. SSIS从理论到实战,再到应用(7)----常用的数据类型转换操作

    原文:SSIS从理论到实战,再到应用(7)----常用的数据类型转换操作 上期回顾: SSIS从理论到实战,再到应用(6)----SSIS的自带日志功能 在抽取各种应用的数据时候,经常会遇到数据需要转 ...

  4. 使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题

    最近给客户做了基于SQLServer的发布订阅的“读写分离”功能,但是某些表数据很大,经常发生某几条数据丢失的问题,导致订阅无法继续进行.但是每次发现问题重新做一次发布订阅又非常消耗时间,所以还得根据 ...

  5. JAVASE02-Unit08: 文本数据IO操作 、 异常处理

    Unit08: 文本数据IO操作 . 异常处理 * java.io.ObjectOutputStream * 对象输出流,作用是进行对象序列化 package day08; import java.i ...

  6. MySQL的数据库,数据表,数据的操作

    数据库简介 概念 什么是数据库?简单来说,数据库就是存储数据的"仓库", 但是,光有数据还不行,还要管理数据的工具,我们称之为数据库管理系统! 数据库系统 = 数据库管理系统 + ...

  7. SQL Server 跨库同步数据

    最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是op ...

  8. 让复杂Json数据和对象自由转换 --- Gson

    Gson是谷歌用于对Json操作的库,里面有着强大而又方便的功能,最常用的就是 fromJson():将json数据转化为对象: toJson():将对象转化为json数据! 对于普通的json数据使 ...

  9. HealthKit开发快速入门教程之HealthKit数据的操作

    HealthKit开发快速入门教程之HealthKit数据的操作 数据的表示 在HealthKit中,数据是最核心的元素.通过分析数据,人们可以看到相关的健康信息.例如,通过统计步数数据,人们可以知道 ...

随机推荐

  1. 记小白的一次基于vue+express+mongodb个人站开发

    学了vue和node一段时间了,折腾了一些零零散散的小东西.马上大四了要出去找工作了,所以早就想搭一个个人站作为一次较为全面的总结.因为没有设计功底,界面设计使我这种强迫症患者苦不堪言.幸而到最后花了 ...

  2. 关于Thread类的简单使用

    线程:线程也被称为轻量级进程,进程和线程都提供一个执行环境,但创建一个新的线程比创建一个新的进程资源要少得多 线程存在进程里,也就是说一个进程至少包括一个线程 线程共享进程的资源,包括内存和打开的文件 ...

  3. WebService核心文件【web-config.wsdd】调用操作

    WebService核心文件[server-config.wsdd]详解及调用示例 作者:玛莎拉蒂-小贱人 一.准备工作 导入需要的jar包: 二.配置web.xml 在web工程的web.xml中添 ...

  4. oracle多表连接查询竟然还有这种操作

    仔细观察上面几个图,比较下 oracle数据库中的+操作符竟然可以替换left join 和right join sql server暂时没用到过

  5. JAVA 验证码生成(转)

    最近做了一下验证码的功能,网上找了一篇还不错,引用下:http://blog.csdn.net/ruixue0117/article/details/22829557 这篇文章非常好,但是web和js ...

  6. Andrew Ng机器学习课程笔记--week8(K-means&PCA)

    Unsupervised Learning 本周我们讲学习非监督学习算法,会学习到如下概念 聚类(clustering) PCA(Principal Componets Analysis主成分分析), ...

  7. org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.问题思路

    15:36:34,549 WARN DefaultListableBeanFactory:1416 - Bean creation exception on FactoryBean type chec ...

  8. fzu1969 GCD Extreme 类似于uva10561

    Description Given the value of N, you will have to find the value of G. The meaning of G is given in ...

  9. HTML基础1

    网页的基本结构(双标签):html,title 页面标题,head 网页上控制信息,body 页面内容,所有属性都写在前面. body的属性:bgcolor 背景色:text 文字颜色:margin ...

  10. java调取数据库

    import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...