pandas中inplace_Python处理数据常用方法(pandas版)2

这篇博客介绍了pandas在数据处理中的常见操作,包括删除列、删除行、重命名列、去重复值、更改数据类型、大小写转换以及填充空值的方法,提供了一系列实用的Python代码示例。
摘要由CSDN通过智能技术生成

efb7775b3d8b6d7df3571ef20e45cfc4.png

书接上回:

Tao:Python处理数据常用方法(pandas版)​zhuanlan.zhihu.com
ed03488b9bc767ba692fcf6841ccb077.png

本文为我日常工作中常用功能的代码块,可以满足绝大部分文本数据处理的需求。

首先导入常用的包

import pandas as pd

本文假设所使用的excel文件目录为 C:/Users/Administrator/Desktop

名称为 test.xlsx

df 为 定义好的Dataframe格式数据

19 删除一列

df = df.drop(columns=['A'])

源数据:

0ec84e2f11ba37cd4e41c872e1fa9546.png

删除后:

7baff16c628b579c0a422e04a390b7ce.png

20 删除一行

df = df.drop(index=['3'])

源数据:

6ec2655fb3dc21f000fd2ef6b0b69cdf.png

删除后:

6ec2655fb3dc21f000fd2ef6b0b69cdf.png

21 重命名列名 columns

df.rename(columns={'A': 'ABC', 'B': 'BCD','C':'CEF'}, inplace = True)

源数据:

6ec2655fb3dc21f000fd2ef6b0b69cdf.png

修改后:

f1995ec8ea113ff55cf937aa4bc0e8be.png

22 去重复的值

数据采集可能存在重复的行,这时只要使用 drop_duplicates() 就会自动把重复的行去掉。

df = df.drop_duplicates(inplace=True) # 去除所有数据都重复的行
df = df.drop_duplicates(subset=['A','B'],inplace=True) # 去除AB两列同时重复的行 

默认保留第一个重复值,也可以使用keep参数自行设定

源数据:

6593d7fe00a58f8d4c92249a7e2165b6.png

默认去重后:

909f3c46cc5555d3d0f61974f6c509ab.png

加参数去重后:

dcad2b0b34bfdfd97e5a14ebdfa0e21b.png

23 更改数据类型

这是个比较常用的操作,因为很多时候数据格式不规范,我们可以使用 astype 函数来规范数据格式,比如我们把 A字段的值改成 str 类型,或者 int64 可以这么写:

df['A'] = df['A'].astype('str')
df['B'] = df['B'].astype(np.int64

源数据:

483cc84d349f7ffcd47a404ad191e9d0.png

源数据类型:

ea65e45fb52dcd8ea2a71368fb21f905.png

修改后数据类型:

8747815c2fd0b8402a255fcaf2b20b13.png

24 大小写转换

大小写是个比较常见的操作,比如人名、城市名等的统一都可能用到大小写的转换,在 Python 里直接使用 upper(), lower(), title() 函数,方法如下:

全部大写

df['A'] = df['A'].str.upper()

全部小写

df['A'] = df['A'].str.lower()

首字母大写

df['A'] = df['A'].str.title()

源数据:

f8d8fb5e8272b024a6f8d4d0f9e6ccf0.png

A列转化为大写:

34bf76461ab5bed9433faf21b1cd305b.png

B列转化为小写:

ac0401a428625a8242e4c47f26524d44.png

C列首字母大写:

daf1c92bb4ed05faa684ed9a84e6ce50.png

25 使用空值前面的值填补空值

df = df.fillna(method='pad',axis=0)
# 或 
df = df.fillna(method='ffill',axis=0) 

源数据:

e669c530eb3a2feff8c32515206574d7.png

pandas导入:

6a3134ca4071c41dda5fcdfe39505227.png

向上填充后:

cf48eb4ddee608527e28ade7595c39fc.png

or

a3497958c537f0fe7ed3d6d1dac3bc03.png

26 使用空值后面的值填补空值

df = df.fillna(method='bfill',axis=0)

源数据及填充后数据:

ed6818fa15dba862b631e88e1f7a7873.png

惯例,十个赞后做下一篇~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值