【机器学习5】数据处理(二)Pandas:表格处理 2

简介: 【机器学习5】数据处理(二)Pandas:表格处理

🌕🌕单条件过滤

df[df.z>=5]

🌕🌕多条件过滤

df[(df.z>=4)&(df.z<=5)]

🌙🌙获取列名和行名

df.columns #获取列名
df.index  #获取行名

🌙🌙观察DataFrame的内容

df.info() #打印属性信息
df.head()# 查看前五行的数据
df.tail()#查看后五行的数据

✨✨变量的变换

有时候,我们需要对DataFrame某列的每个元素都进行运算处理,从而产生并添加新的列

我么可以直接对DataFrame的列进行加减乘除某个数,产生新的列:

df['z1']=df['z']*2

f107b3b2d3474b689745c049db386c61.png

apply、applymap和map方法都可以向对象中的数据传递函数,主要区别如下:
🌙apply的操作对象是DataFrame的某一列(axis=1)或者某一行(axis=0)

🌙applymap的操作对象是元素极,作用于每个DataFrame的每个数据
🌙map的操作对象也是元素极,但其是对Series的每个数据调用一次函数

使用apply方法,结合lambda表达式,可以为原数据框添加新的列:

df['z2']=df.apply(lambda x:x['z']*2 if x['z']==4 else x['z'],axis=1)

✨✨表格的拼接

有时候,我们需要在已有数据框的基础上添加新的行或者列,或者横向或纵向的表格。此时我们需要使用pd.concat函数或者append函数实现该功能。

✨✨ 表格的分组操作

DataFrame往往存在某列包含多个类别的数据,例如上次博客中的经典的葡萄酒数据集。我们以此为例。

import pandas as pd
file_path="D:\A_data\Data_wine数据\wine.xlsx"
df=pd.read_excel(file_path)
df

使用 groupby()函数进行分组操作:

df1=df.groupby('label')
df

分组之后的结果与原来数据一样,这是因为在类别标签‘label’这一列,原来的数据就是按照0、1、2三种类别的顺序排下来的。

🌙🌙按照分组求均值、求和

求均值:

df2=df.groupby('label').mean()
df2

当然了,也可以只打出我们想要的某一列的均值:

df2=df.groupby('label').ash.mean()
df2

求和:

对于这个葡萄酒数据集可能求和操作并没有意义,但在此只是练习:

df2=df.groupby('label').sum()
df2

求方差:

df2=df.groupby('label').std()
df2

✨✨表格的拼接

有时候,我们需要在已有数据框的基础上添加新的行或者列,或者横向或纵向的表格。此时我们需要使用pd.concat函数或者append函数实现该功能。

其中,axis=0表示沿纵轴连接。axis=1表示沿横轴连接。

下面我们再举一个例子:

(我觉得2020年国赛数学建模国赛C题很不错)

首先,我们可以看一下,这是一个多sheet Excel:

而且,sheet2 、sheet3企业代号就是sheet1中企业的所有发票信息,也就是说一个企业就有很多发票号码。
我们需要整合sheet2,以及sheet3中的信息,将一个企业的某一个指标进行计算,然后希望补到heet1中,形成一个更宏观的表格。

分析指标:总进项价税额:是指企业在一段时间内购进产品的价值总和,该值越高说明企业的生产和经营规模就越大,可以作为衡量企业生产规模大小的有效指标。

我希望根据sheet2算出这个指标,然后添加到sheet1中。

首先导入数据。

import pandas as pd
file_path="D:\A_data\Data.2020.C\附件1:123家有信贷记录企业的相关数据.xlsx"
df=pd.read_excel(file_path,sheet_name=None)
df

这里设置sheet_name=None,会将所有的sheet都整合在df中。

将sheet1保存至df1

df1=pd.read_excel(file_path,sheet_name='企业信息')
df1

将我们所要研究的sheet2即“进项发票信息”保存给df2

df2=pd.read_excel(file_path,sheet_name='进项发票信息')
df2

根据sheet2计算总进项价税额:

df2_=df2.groupby(['企业代号'],as_index=False,sort=False)['价税合计'].sum()
df2_

这里注意,设置参数sort=False,不然会改变企业代号的排序。

删除企业代号这一列:

df2_.drop(labels='企业代号',axis=1,inplace=False)

参数说明:axis默认为0,指删除行,axis=1,指删除列。

inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新DataFrame。inplace=True,则会直接在原数据上进行删除操作,且删除后无法返回。

😭😭😭😭**由于我拼接表格,添加新的一列,没有成功。弄出来是这个样子的:**😱😱😱

所以下面我是导出数据,形成一个新的excel,然后利用excel复制粘贴到sheet1中。

df2__.to_excel("D:\A_data\Data.2020.C\进项价税合计.xlsx")

还要继续努力呀😭😭😭😭加油加油!


相关文章
|
2月前
|
机器学习/深度学习 数据采集 自然语言处理
构建高效机器学习模型:从数据处理到性能优化
在数据驱动的时代,构建高效的机器学习模型已经成为解决复杂问题的关键手段。本文将详细讨论如何通过有效的数据处理、特征工程、模型选择以及性能优化策略来构建一个高效的机器学习模型。我们将重点关注数据处理的重要性,特征选择的影响,以及如何通过调整模型参数和采用集成学习方法来提高模型的性能。我们的目标是为读者提供一套实用的指南,帮助他们在构建自己的机器学习模型时能够更加高效和有效。
|
1月前
|
数据采集 数据挖掘 大数据
数据处理利器:使用Pandas进行数据清洗与转换
【4月更文挑战第12天】在大数据时代,Pandas是Python数据分析的关键工具,提供高效的数据清洗和转换功能。本文介绍了如何使用Pandas处理缺失值(删除或填充)、异常值(Z-Score法和IQR法)以及重复值(检测和删除)。此外,还涵盖了数据转换,包括数据类型转换、数据标准化(Min-Max和Z-Score)以及类别数据的one-hot编码。通过学习这些方法,可以为数据分析和挖掘奠定坚实基础。
|
13天前
|
机器学习/深度学习 数据采集 SQL
【Python机器学习专栏】使用Pandas处理机器学习数据集
【4月更文挑战第30天】本文介绍了如何使用Python的Pandas库处理机器学习数据集,涵盖数据读取、概览、清洗、转换、切分和保存等步骤。通过Pandas,可以从CSV等格式加载数据,进行缺失值、异常值处理,数据类型转换,如归一化、类别编码,并实现训练集与测试集的划分。此外,还展示了如何保存处理后的数据,强调了Pandas在数据预处理中的重要性。
|
24天前
|
数据采集 机器学习/深度学习 自然语言处理
《Pandas 简易速速上手小册》第7章:Pandas 文本和类别数据处理(2024 最新版)
《Pandas 简易速速上手小册》第7章:Pandas 文本和类别数据处理(2024 最新版)
31 1
|
27天前
|
数据处理 索引 Python
Pandas常见问题与解决方案:避开数据处理中的坑
【4月更文挑战第16天】本文总结了Pandas数据处理中的常见问题及解决方案:1) 数据类型不匹配,使用`astype`转换;2) 缺失值处理,用`dropna`删除或`fillna`填充;3) 内存占用过大,通过选择性加载列、指定`dtype`和使用`chunksize`分块处理;4) 合并数据问题,确保键匹配和正确合并方式;5) 排序和分组聚合错误,使用`sort_values`/`sort_index`和`groupby`配合聚合函数。掌握这些技巧可提高数据处理效率。
|
27天前
|
SQL 机器学习/深度学习 数据可视化
Pandas与其他库的集成:构建强大的数据处理生态
【4月更文挑战第16天】Pandas在数据处理中扮演关键角色,但与其他Python库如NumPy、Matplotlib/Seaborn、Scikit-learn和SQL的集成使其功能更加强大。结合NumPy进行数值计算,搭配Matplotlib/Seaborn实现高效可视化,与Scikit-learn联用加速机器学习,以及与SQL集成便于数据库操作,这些都构建了一个全面的数据处理生态系统,提升了数据科学家的工作效率,助力于数据价值的发掘。
|
27天前
|
并行计算 数据挖掘 数据处理
Pandas性能优化与高级功能:让数据处理更高效
【4月更文挑战第16天】本文探讨了如何优化Pandas的性能和利用其高级功能。关键的性能优化方法包括选择合适的数据类型、避免数据复制、使用向量化操作、优化查询和索引,以及探索并行计算。高级功能涉及分组聚合、窗口函数、数据透视表、缺失值处理和分类数据编码。通过这些技巧,可以更高效地处理大规模数据集。
|
27天前
|
数据采集 算法 数据挖掘
数据处理与清洗:Pandas助力数据质量提升
【4月更文挑战第16天】Pandas是Python中用于数据处理的关键库,它提供了解决数据清洗问题的多种工具。包括处理缺失值(如删除或填充)、检测并去除重复值、识别及处理异常值、数据类型转换和标准化、以及数据合并与连接。通过熟练运用这些功能,数据科学家能提升数据质量,为准确的分析和建模打下基础。
|
27天前
|
SQL 存储 数据处理
Pandas入门指南:开启数据处理之旅
【4月更文挑战第16天】Pandas是Python中的数据处理库,提供高性能数据结构Series和DataFrame,简化数据操作。要开始使用,先安装Pandas:`pip install pandas`,然后`import pandas as pd`。Series是一维标签数组,DataFrame是二维表格数据。Pandas支持读写CSV、Excel、SQL数据,以及数据清洗、处理、筛选和排序。它是数据科学家和分析师处理结构化数据的得力工具。开始你的Pandas数据之旅吧!
|
1月前
|
机器学习/深度学习 大数据 数据处理
机器学习库:pandas
机器学习库:pandas
31 0