Pandas数据框整体操作(上)

简介: 引入前面几期我几乎介绍了pandas可能用到的各个基础函数。但有一个非常重要的内容似乎一直忽视了包括我近期查阅了许多文章,好像在这部分内容上比较难以讲清楚,没基础的读者很容易云里雾里。他就是pandas的数据框整体操作


引入


前面几期我几乎介绍了pandas可能用到的各个基础函数。

但有一个非常重要的内容似乎一直忽视了

包括我近期查阅了许多文章,好像在这部分内容上比较难以讲清楚,没基础的读者很容易云里雾里。

他就是pandas的数据框整体操作

涉及的具体操作包括但不限于:

表的合并(数据的整合)

表的连接(数据的整合)

特征矩阵构建

……

今天开始我们就大致在这些方面提供一些梳理和实例,帮助大家学习和理解。本期主要聚焦第一点,表的合并操作


一、准备工作


这篇文章的阅读希望你有:

一定的python编程基础

一定的pandas了解(我往期的文章看过了应该没问题)

对数据分析工作有一定的热情

吃饱喝足的你带上愿意思考的小脑瓜

本期选用的开发工具是anaconda的jupyter notebook,因为其分步运行比较适合进行讲解,同时作图和交互性适合数据科学工作。有相关规划的朋友可以装一个。

image.png

首先来到你们的代码运行环境。任何ide都可以。

先导入pandas支持和numpy支持。并将文件读取。

image.png

数据说明

这里的数据和前几期的一样,是某电商平台的消费者行为数据。user列和brand列分别代表用户和品牌编号,不同用户不同品牌不重复,behavr列中0代表浏览,1代表购买,2代表收藏,3代表加入购物车,date列代表行为日期。


二、简单的数据合并


我们一般用contact函数来进行这个处理

先创建两个范例dataframe:

image.png

image.png

a=np.array([[2,4],[7,1]])
b=np.array([[3,5],[2,7]])

这两行代码是为了创建两个array数组,用以后期创建dataframe。注意这里的array本质是一维的,其中的元素是两个列表,列表里才是我们的2,4,7,1等——

pd.concat([a1,b1])

image.png

比如我们在这里可以看看a是什么

a1=pd.DataFrame(a,index=[1,2],columns=["i","j"])
b1=pd.DataFrame(b,index=[1,2],columns=["i","j"])

这两行代码是用DataFrame函数来创建一个可以自定义行列名的dataframe,数据就是我们前面建立的两个array。

准备完成,开始合并:

pd.concat([a1,b1])

此操作直接将a1,b1合并为一个dataframe。

image.png


三、数据合并的特殊情况


为了增加数据复杂性,我们再创一个a2:

a2=pd.DataFrame([[2,3],[1,4],[5,7]],columns=["i","j"])
a2

不难发现这里有三列数据了。为的就是造一个索引数量与a1,b1不同的dataframe,探究合并的规律。

image.png

继续进行合并操作

image.png

正如代码中的注释:本质上是以合并方向上的键相同为基础。如无相同键就会空置当条数据

不排除重复这点很好理解,你合并的不是这个方向的数据嘛。


四、数据合并的处理过滤


我们不难发现合并此类数据框的时候会出现nan值,如果觉得这样破坏了和谐,想要去掉,怎么办呢?

设置join参数即可

image.png

如果希望保留二层结构,我们可以采用二层索引

image.png

这就完成了我们数据表合并的一些基本情况

相关文章
|
6月前
|
Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数变换数据。示例代码:导入pandas,定义一个包含'Name'和'Age'列的DataFrame,使用`melt()`转为长格式,再用`pivot()`恢复为宽格式。
146 1
|
6月前
|
数据格式 Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数转换数据格式。示例代码展示了如何通过`melt()`转为长格式,再用`pivot()`恢复为宽格式。输入数据是包含'Name'和'Age'列的DataFrame,最终结果经过转换后呈现出不同的布局。
103 6
|
6月前
|
人工智能 机器人 Serverless
【Python】Pandas的一系列经典操作(非常实用)
【Python】Pandas的一系列经典操作(非常实用)
|
3月前
|
索引 Python
如何在 Pandas 数据框中添加新列?
【8月更文挑战第30天】
380 4
|
3月前
|
索引 Python
如何在 Pandas 中合并数据框?
【8月更文挑战第30天】
47 4
|
3月前
|
存储 关系型数据库 数据库
如何在 Pandas 中合并数据框?
【8月更文挑战第30天】
20 0
|
4月前
|
数据处理 Python
数据科学进阶之路:Pandas与NumPy高级操作详解与实战演练
【7月更文挑战第13天】探索数据科学:Pandas与NumPy提升效率的高级技巧** - Pandas的`query`, `loc`和`groupby`用于复杂筛选和分组聚合,例如筛选2023年销售额超1000的记录并按类别计总销售额。 - NumPy的广播和向量化运算加速大规模数据处理,如快速计算两个大数组的元素级乘积。 - Pandas DataFrame基于NumPy,二者协同加速数据处理,如将DataFrame列转换为NumPy数组进行标准化再回写,避免链式赋值。 掌握这些高级操作,实现数据科学项目的效率飞跃。
63 0
|
6月前
|
索引 Python
使用Python的Pandas库进行数据透视表(pivot table)操作
使用Python Pandas进行数据透视表操作包括:安装Pandas库,导入库,创建或读取数据,如`pd.DataFrame()`或从文件读取;然后使用`pd.pivot_table()`创建透视表,指定数据框、行索引、列索引和值,例如按姓名和科目分组计算平均分;查看结果通过打印数据透视表;最后可使用`to_csv()`等方法保存到文件。这为基础步骤,可按需求调整参数实现更多功能。
296 2
|
6月前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
66 2
|
6月前
|
数据挖掘 数据处理 索引
Python 应知应会的Pandas高级操作
Python 应知应会的Pandas高级操作
97 0
下一篇
无影云桌面