互联网技术 / 互联网资讯 · 2024年3月7日

20个Pandas函数解决数据清洗问题

今天准备分享一篇实用的文章!

Pandas 是一种基于 NumPy 的工具,旨在处理数据分析任务。它提供了众多函数和方法,使数据处理变得快速而便捷。

以下介绍的20个函数被分为15组,都是数据处理的有力工具,使用后你一定会喜欢上它们。

构造数据集

在开始之前,我们先构造一个数据集,以便演示这20个函数。

这20个Pandas函数,堪称"数据清洗"杀手!

1. cat函数

此函数用于字符串的拼接:

df[“姓名”].str.cat(df[“家庭住址”], sep=’—‘)

这20个Pandas函数,堪称"数据清洗"杀手!

2. contains函数

此函数用于判断某个字符串是否包含特定字符:

df[“家庭住址”].str.contains(“广”)

这20个Pandas函数,堪称"数据清洗"杀手!

3. startswith、endswith函数

这两个函数用于判断字符串是否以特定字符开头或结尾:

df[“姓名”].str.startswith(“黄”)
df[“英文名”].str.endswith(“e”)

这20个Pandas函数,堪称"数据清洗"杀手!

4. count函数

此函数用于计算特定字符在字符串中出现的次数:

df[“电话号码”].str.count(“3”)

这20个Pandas函数,堪称"数据清洗"杀手!

5. get函数

此函数用于获取指定位置的字符串:

df[“姓名”].str.get(-1)
df[“身高”].str.split(“:”).str.get(0)

这20个Pandas函数,堪称"数据清洗"杀手!

6. len函数

此函数用于计算字符串的长度:

df[“性别”].str.len()

这20个Pandas函数,堪称"数据清洗"杀手!

7. upper、lower函数

这两个函数用于英文大小写的转换:

df[“英文名”].str.upper()
df[“英文名”].str.lower()

这20个Pandas函数,堪称"数据清洗"杀手!

8. pad+side参数/center函数

此函数用于在字符串的两边添加指定字符:

df[“家庭住址”].str.pad(10, fillchar=”*”)
df[“家庭住址”].str.pad(10, side=”right”, fillchar=”*”)
df[“家庭住址”].str.center(10, fillchar=”*”)

这20个Pandas函数,堪称"数据清洗"杀手!

9. repeat函数

此函数用于重复字符串若干次:

df[“性别”].str.repeat(3)

这20个Pandas函数,堪称"数据清洗"杀手!

10. slice_replace函数

此函数用于用指定字符串替换特定位置的字符:

df[“电话号码”].str.slice_replace(4, 8, “*” * 4)

这20个Pandas函数,堪称"数据清洗"杀手!

11. replace函数

此函数用于将指定位置的字符替换为给定字符串:

df[“身高”].str.replace(“:”, “-“)

此函数还支持正则表达式,可以替换匹配的字符:

df[“收入”].str.replace(“d+.d+”, “正则”)

这20个Pandas函数,堪称"数据清洗"杀手!

12. split方法+expand参数

此函数用于将一列扩展为多列:

df[“身高”].str.split(“:”)
df[[“身高描述”, “final身高”]] = df[“身高”].str.split(“:”, expand=True)

这20个Pandas函数,堪称"数据清洗"杀手!

13. strip、rstrip、lstrip函数

这几个函数用于去除空白符和换行符:

df[“姓名”].str.len()
df[“姓名”] = df[“姓名”].str.strip()
df[“姓名”].str.len()

这20个Pandas函数,堪称"数据清洗"杀手!

14. findall函数

此函数利用正则表达式在字符串中查找,返回结果列表:

df[“身高”].str.findall(“[a-zA-Z]+”)

这20个Pandas函数,堪称"数据清洗"杀手!

15. extract、extractall函数

这两个函数用于根据正则表达式抽取匹配的字符串(需加括号):

df[“身高”].str.extract(“([a-zA-Z]+)”)
df[“身高”].str.extractall(“([a-zA-Z]+)”)
df[“身高”].str.extract(“([a-zA-Z]+).*?([a-zA-Z]+)”, expand=True)

这20个Pandas函数,堪称"数据清洗"杀手!