Pandas数据分析之字符串处理

简介: 引入前段时间我们了解了pandas数据分析工具的一些函数妙用,并学习了如何制作一些简单的图表。但细心的同学不难发现我们一直是在针对数字进行处理,这要求我们在统计获取数据之初就对数据进行编码。但是实际生活中会出现很多无法统一标准的数据。


引入


前段时间我们了解了pandas数据分析工具的一些函数妙用,并学习了如何制作一些简单的图表。

但细心的同学不难发现我们一直是在针对数字进行处理,这要求我们在统计获取数据之初就对数据进行编码。

但是实际生活中会出现很多无法统一标准的数据。

就拿当今最火的某电商平台为例,我们之前做过的数据分析是基于用户行为的,这些数据是有固定情况的(如当时我们用0代表浏览,1代表购买,2代表收藏,3代表加入购物车),此类数据只需要这样编码一下,赋予每种行为一个代数即可进行统计分析

而商品的款式呢?颜色呢?此类数据存在难以计数的情况,且可能实时更新,比如商家今天上新一个“雾霾蓝”的雨伞,明天上新一个“普鲁士蓝”的帽子……

难道你要每新增一个商品就多加一个编码吗?每天数不清的商品新增,最终你是否需要为这些编码准备一个数据库,分析的时候查询一下这个编码代表的是什么商品吗?

显然不现实。我们需要对此类数据直接进行字符串的处理。今天就不妨让我们一起来看看吧~


一、字符数据导入与基本了解


我们这里采用某大数据平台提供的电商平台商品数据当然,是带有不规则字符串的

image.png


用文件的打开方式打开csv文件。

Tip:其实CSV文件本质上可以理解成是文本文件了,这个与xlsx等Excel带格式的文件不一样哈。

我们用len()函数看看一共有多少条记录


image.png

a.columns()查看有多少个columns。可以理解成就是有多少个列,把这些列的名字列出来。

image.png

从这里,细心的伙伴们可能就发现了,可以查看columns,那这个a是不是dataframe类型的数据啊~

image.png

答案是肯定的~我们仍旧可以用dataframe的操作方法来应用在这里导入的csv字符串文件上。

image.png

我们在之前已经提到过,有许多商品的信息特征是空值具体有多少空值我们是需要进行了解的,以免之后的处理遇到未知的问题——可以把这步视作数据清洗的前摇了:

a.isnull().sum()#查看各个column有多少空值
复制代码

isnull函数记录是否为空值。sum()用于统计。

注意isnull运行过后,返回值是原dataframe同大小的一个新dataframe,每个单元格里是布尔型的数据

image.png

sum是在统计每个column中为True的个数

为什么sum统计的是每个column的True的个数呢?

sum()函数默认竖向统计,因为通常情况下这样更有意义(比如这里竖向统计的是各个信息栏对应的空缺值,来看看哪个信息许多商家都没填写,从而为今后设置哪些必填信息提供决策参考。横向的每条数据一般都是单位商品,如果统计的话就是看看各个商品都有哪些信息没填,这样统计起来数据量非常大,相当于大数据分析完了还是大数据。)如果你还是希望横向统计每行的True的个数,可以设置sum的参数axis=1,这样结果就是横向统计了。

image.png


二、字符串处理


这里只需要记住一点:

Pandas字符串处理基本都是借助str相关函数和方法实现的

image.png

这里就是用常见的字符串处理方法。(文案我们采用字节跳动稀土掘金,亲切感满满)

len函数统计长度返回数值

split函数按特定字符分割字符串返回列表

replace函数替换特点值

find函数返回第一个特定字符的索引(注意索引从0开始)


三、基于生成序列的groupby


我们可以再次用groupby实现一些妙用。比如统计一些各个省份商品的数量:


image.png

image.png

a.location.str.split(" ",expand=True)[0].head()

我们可以分析一下这串代码。

首先a.location很简单,就是把dataframe的location列提取出来。

难道这样就是各个商品的城市了吗

我们发现有些商品有两个城市

处。

image.png

我们需要把首要城市提取出来,逻辑上比较合理些(好比你参加了一百篇SCI但是没有一篇一作,你觉得周围人会怎么评价你)

于是我们采用.str把这个dataframe每行转化成字符串,再用split函数以空格为界把两个城市提取出来,此时城市已经成为含有多个元素的列表。设置参数expand=true可以使数据类型变回dataframe。最后用列表索引[0]把最前面的城市分别提取出来即可。


image.png

一次groupby的妙用,按a.location.str.split(" ",expand=True)[0]来分组,这就是小标题说的基于序列的groupby。最后size()统计之后就可以获得每个城市的数据了。这样的数据比较整洁且有意义

——你说为什么这么麻烦?直接groupby函数传入location作为参数不行吗?

image.png

如图,每个城市组合都作为一个分组,这样大伙儿能看出来哪个城市商品最多吗?


相关文章
|
21天前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
120 71
|
20天前
|
存储 数据采集 数据可视化
Pandas数据应用:电子商务数据分析
本文介绍如何使用 Pandas 进行电子商务数据分析,涵盖数据加载、清洗、预处理、分析与可视化。通过 `read_csv` 等函数加载数据,利用 `info()` 和 `describe()` 探索数据结构和统计信息。针对常见问题如缺失值、重复记录、异常值等,提供解决方案,如 `dropna()`、`drop_duplicates()` 和正则表达式处理。结合 Matplotlib 等库实现数据可视化,探讨内存不足和性能瓶颈的应对方法,并总结常见报错及解决策略,帮助提升电商企业的数据分析能力。
128 73
|
2月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
104 0
|
17天前
|
存储 数据采集 数据可视化
Pandas数据应用:医疗数据分析
Pandas是Python中强大的数据操作和分析库,广泛应用于医疗数据分析。本文介绍了使用Pandas进行医疗数据分析的常见问题及解决方案,涵盖数据导入、预处理、清洗、转换、可视化等方面。通过解决文件路径错误、编码不匹配、缺失值处理、异常值识别、分类变量编码等问题,结合Matplotlib等工具实现数据可视化,并提供了解决常见报错的方法。掌握这些技巧可以提高医疗数据分析的效率和准确性。
62 22
|
22天前
|
数据采集 数据可视化 索引
Pandas数据应用:股票数据分析
本文介绍了如何使用Pandas库进行股票数据分析。首先,通过pip安装并导入Pandas库。接着,从本地CSV文件读取股票数据,并解决常见的解析错误。然后,利用head()、info()等函数查看数据基本信息,进行数据清洗,处理缺失值和重复数据。再者,结合Matplotlib和Seaborn进行数据可视化,绘制收盘价折线图。最后,进行时间序列分析,设置日期索引、重采样和计算移动平均线。通过这些步骤,帮助读者掌握Pandas在股票数据分析中的应用。
58 5
|
2月前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
58 2
|
2月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
68 2
|
2月前
|
数据采集 数据可视化 数据挖掘
Python数据分析:Pandas库实战指南
Python数据分析:Pandas库实战指南
|
2月前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
2月前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南

热门文章

最新文章