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

这篇具有很好参考价值的文章主要介绍了【机器学习5】数据处理(二)Pandas:表格处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🌟🌟Pandas三种数据类型

Pandas提供了三种数据类型,分别是SeriesDataFramePanel。Series用于保存一维数据,DataFrame用于保存二维数据,Panel用于保存三维数据或者可变维数据。平时的表格处理数据分析最常用的数据类型是SeriesDataFrame,Panel较少用到。

✨✨Series数据结构

Series本质上是一个含有索引的一维数组,其包含一个左侧自动生成的index和右侧的values值,分别使用s.indexs.values进行查看。

下面举个例子:
【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
下面我们导入数据:

import pandas  as pd
s=pd.read_excel("D:\A_data\Data_Series.xlsx")
s

运行结果如下:
【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
其中,左侧这一列就是索引列,下面我们分别打印s.index和s.values
【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
index返回一个index对象,而values返回一个array。

✨✨ DataFrame数据结构

DataFrame(数据框)类似于Excel电子表格,也与R语言中DataFrame的数据结构类似。

🌙🌙DataFrame数据的选取

🌕🌕DataFrame的构建

import pandas as pd
df=pd.DataFrame({'x':['a','b','c'],'y':[1,2,3],'z':[4,5,6]})
df

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

🌕🌕选取多行

方法一:

df.iloc[[0,1],:]

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

df.iloc[[0,2],:]

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
方法二:

df.loc[['0','2'],:]

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

🌕🌕选取某一列

df.y
df['y']
df.loc[:,['y']]
df.iloc[:,[1]]

🌕🌕选取多列

方法一:

df.iloc[:,[1,2]]

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
方法二:

df.loc[:,['x','y']]

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
方法三:

df[['x','y']]

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

🌕🌕单条件过滤

df[df.z>=5]

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

🌕🌕多条件过滤

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

🌙🌙获取列名和行名

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

🌙🌙观察DataFrame的内容

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

✨✨变量的变换

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

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

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

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)

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

✨✨表格的拼接

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

✨✨ 表格的分组操作

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

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
使用 groupby()函数进行分组操作:

df1=df.groupby('label')
df

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
分组之后的结果与原来数据一样,这是因为在类别标签‘label’这一列,原来的数据就是按照0、1、2三种类别的顺序排下来的。

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

求均值:

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
当然了,也可以只打出我们想要的某一列的均值:

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
求和:

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

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
求方差:

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

✨✨表格的拼接

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

其中,axis=0表示沿纵轴连接。axis=1表示沿横轴连接。
下面我们再举一个例子:
(我觉得2020年国赛数学建模国赛C题很不错)
首先,我们可以看一下,这是一个多sheet Excel:
【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

而且,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中。
【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
将sheet1保存至df1

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

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

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
根据sheet2计算总进项价税额:

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
这里注意,设置参数sort=False,不然会改变企业代号的排序。
【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
删除企业代号这一列:

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

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

😭😭😭😭**由于我拼接表格,添加新的一列,没有成功。弄出来是这个样子的:**😱😱😱
【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter
所以下面我是导出数据,形成一个新的excel,然后利用excel复制粘贴到sheet1中。

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

【机器学习5】数据处理(二)Pandas:表格处理,机器学习,机器学习,pandas,人工智能,python,jupyter

还要继续努力呀😭😭😭😭加油加油!文章来源地址https://www.toymoban.com/news/detail-649714.html

到了这里,关于【机器学习5】数据处理(二)Pandas:表格处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pandas处理双周数据

    处理文件题头格式 导入源 合并两列数据

    2024年02月04日
    浏览(38)
  • Pandas对日期数据的处理

    Pandas对日期数据的处理 Pandas中提供了许多简单易用的日期数据处理函数,包括将字符串转换成为对应的日期数据,根据日期来选取数据等等。接下来,让我们了解一下Pandas中对日期数据的处理。 代码如下: 运行结果: 代码如下: 运行结果: pandas可以使用dt对象获取datetim

    2024年02月06日
    浏览(43)
  • pandas数据清洗——缺失值处理

    使用DataFrame对象的info()方法 原始数据 ​​ 注:NaN为空缺值   查看是否有缺失值    Non-Null Count列显示的是每个索引中不是空缺的个数 使用DataFrame的isnull()方法和notnull()方法 1. isnull()方法——判断是否为空,输出结果为True和False,不为NaN时返回False,为NaN时返回True。     2.

    2024年02月12日
    浏览(55)
  • 头歌Python实训——pandas数据处理

    任务描述 本关任务: 超市销售数据如图所示 建立excel文件“类别销售”,根据不同类别建立多个工作表,将相同类别的销售信息存放在相应的工作表中。 相关知识 为了完成本关任务,你需要掌握:1.读取excel文件,2.筛选dataframe数据,3.将数据写入工作簿和工作表 从excel文件读

    2024年02月04日
    浏览(39)
  • pandas由入门到精通-数据处理

    文中用S代指Series,用Df代指DataFrame 数据清洗是处理大型复杂情况数据必不可少的步骤,这里总结一些数据清洗的常用方法:包括缺失值、重复值、异常值处理,数据类型统计,分箱,随机采样,向量化编码等方法。每种方法都给出了代码和实例,并用表格进行总结。 判断D

    2024年02月11日
    浏览(45)
  • Python Pandas 处理Excel数据 制图

    目录 1、饼状图  2、条形统计图

    2024年02月11日
    浏览(40)
  • 数据分析-Pandas如何轻松处理时间序列数据

    时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。此处选择巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 N O 2 ​ 数据作为样例。 python数据分析-数据表读写到pandas 经典算法-遗传算法的python实现 经典算法-遗传算法的一个简单例子 大

    2024年01月25日
    浏览(45)
  • Python 数据处理与分析之 Pandas 库

    Pandas(Python Data Analysis Library)是一个流行的 Python 第三方库,是数据处理和数据分析中不可或缺的工具之一,用于数据处理和数据分析。 它提供了高效的数据分析方法和灵活且高效的数据结构。相比于其他的数据处理库,pandas更适用于处理具有关系型数据或者带标签数据的情

    2024年02月05日
    浏览(38)
  • 第五章Pandas数据载入与预处理

    1:利用下面哪个可视化绘图可以发现数据的异常点 A.密度图 B.直方图 C.盒图 D.概率图 知识点解析: 密度图:表现与数据值对应的边界或域对象的一种理论图形表示方法 直方图:直方图是数值数据分布的精确图形表示 盒图:是结构化编程中的一种可视化建模 概率图:用图来

    2024年02月05日
    浏览(49)
  • 【011】pandas处理数据的作用_#py

    上面导入数组的结果如下: df1 df2 df3 df4 columns的内容,修改前后的 如下: drop=True drop=False 先确定列,再确定行号。用 iloc 确定行号 将 df 插入 df3 的首列中 其各个含义如下: loc column value allow_duplicates 表示插入第几列 对插入的列名重命名 插入的列内容 允许出现重复的行名

    2023年04月27日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包