pandas数据处理学习笔记(一)

本文介绍了如何在Python中使用pandas库进行数据合并(merge和join)、列拼接(concatenate和concat)以及数据部分更新(combine_first)。涵盖了数据融合的各种方法,并展示了删除DataFrame列和行的实例。
摘要由CSDN通过智能技术生成

导入模块

import pandas as pd
import numpy as np

1.数据合并

merge()函数

pd.merge(frame1,frame2,on='id')

on选项指定基于哪一列进行合并,可以指定多个列来合并多个键

left_on,right_on 可分别指定第一个和第二个DataFrame的基准列

how=‘outer’(或left/right)指定外连接、左连接或右连接,默认为内连接

jion()函数

frame1.join(frame2)

以索引列为基准直接拼接

frame1和frame2列名称不能有重复的

2.拼接

NumPy中的concatenate()函数

np.concatenate([array1,array2],axis=0) #按列拼接

pandas的concat()函数

对Series对象:

pd.concat([ser1,ser2],axis=1,key=[1,2])

默认axis=0按列拼接;key用来创建等级索引

对DataFrame对象:

pd.concat([frame1,frame2],axis=1)

默认axis=0按列拼接

3.组合

conbine_first()函数

组合Series对象,同时对齐数据

ser1 = pd.Series(np.arange(5),index=[1,2,3,4,5])
'''ser1
1    0
2    1
3    2
4    3
5    4
'''
ser2 = pd.Series(np.arange(3),index=[3,5,7])
'''ser2
3    0
5    1
7    2
'''
ser1.combine_first(ser2)
'''返回
1    0.0
2    1.0
3    2.0
4    3.0
5    4.0
7    2.0
'''
ser2.combine_first(ser1)
'''返回
1    0.0
2    1.0
3    0.0
4    3.0
5    1.0
7    2.0
'''

只合并部分内容

ser1 = pd.Series(np.arange(5),index=[1,2,3,4,5])
ser2 = pd.Series(np.arange(3),index=[3,5,7])
ser1[2:].combine_first(ser2)
'''返回
3    2.0
4    3.0
5    4.0
7    2.0
'''

4.删除

删除一列,对DataFrame使用del命令

del frame['A']  #删除列名称为'A'的一列

删除一行,使用drop()函数

frame.drop('white')  #删除index为'white'的一行


参考:

法比奥·内利. Python数据分析实战:第2版.北京:人民邮电出版社, 2019.11.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值