首页 > 编程语言 >数据科学 IPython 笔记本 7.3 Pandas 数据操作

数据科学 IPython 笔记本 7.3 Pandas 数据操作

时间:2023-04-26 14:31:45浏览次数:50  
标签:数据 DataFrame pandas 7.3 文档 IPython NumPy Pandas


7.3 Pandas 数据操作

原文:Data Manipulation with Pandas

译者:飞龙

协议:CC BY-NC-SA 4.0

本节是《Python 数据科学手册》(Python Data Science Handbook)的摘录。

在前一章中,我们详细介绍了 NumPy 及其ndarray对象,它在 Python 中提供了密集类型数组的高效存储和操作。在这里,通过详细了解 Pandas 库提供的数据结构,我们将构建这些知识。

Pandas 是一个基于 NumPy 构建的新软件包,它提供了高效的DataFrame实现。DataFrame本质上是多维数组,带有附加的行和列标签,通常具有异构类型和/或缺失数据。除了为标记数据提供方便的存储接口外,Pandas 还实现了许多强大数据操作,数据库框架和电子表格程序用户都熟悉它们。

正如我们所看到的,NumPy 的ndarray数据结构为干净,组织良好的数据类型提供了必要的功能,它们通常出现在数值计算任务中。虽然它很好地服务于此目的,但当我们需要更多的灵活性(例如,将标签附加到数据,处理缺失数据等),以及尝试一些操作,它们不能很好地映射到逐元素广播时(例如, 分组,透视等),它的局限性就很明显了。每一项都是分析非结构化数据的重要部分,它以许多形式存在于我们周围的世界中。

Pandas,特别是它的SeriesDataFrame对象,建立在 NumPy 数组结构之上,可以高效访问这些占据数据科学家许多时间的“数据整理”任务。

在本章中,我们将重点介绍有效使用SeriesDataFrame和相关结构的机制。我们将在适当的地方使用从真实数据集中提取的示例,但这些示例不一定是重点。

安装和使用 Pandas

在系统上安装 Pandas 需要安装 NumPy,如果从源代码构建库,则需要使用适当的工具,来编译 C 和 Cython 源,Pandas 构建在它上面。安装的详细信息,请参见 Pandas 文档。如果你遵循了“前言”中所述的建议,并使用 Anaconda 栈,则你已经安装了 Pandas。

安装 Pandas 后,你可以导入它并检查版本:

import pandas
pandas.__version__

# '0.18.1'

正如我们通常在别名np下导入 NumPy 一样,我们将在别名pd下导入 Pandas:

import pandas as pd

此导入约定将在本书的其余部分中使用。

关于内置文档的提示

在阅读本章时,不要忘记 IPython 使你能够快速浏览包的内容(通过使用制表符补全功能)以及各种函数的文档(使用? 字符)。(如果你需要回顾这个,请参阅“IPython 中的帮助和文档”。)

例如,要显示 pandas 命名空间的所有内容,可以键入:

In [3]: pd.<TAB>

要显示 Pandas 的内置文档,你可以使用:

In [4]: pd?

可以在 http://pandas.pydata.org/ 找到更详细的文档以及教程和其他资源。


标签:数据,DataFrame,pandas,7.3,文档,IPython,NumPy,Pandas
From: https://blog.51cto.com/wizardforcel/6227350

相关文章

  • Python pandas 保存Excel自动调整列宽的方法及示例代码
    方法1.  用pd.ExcelWriter和  worksheet.set_column 需要安装xlsxwriter方法2:使用StyleFrame自动调整fromstyleframeimportStyleFrameimportpandasaspdcolumns=['aaaaaaaaaaa','bbbbbbbbb','ccccccccccc',]df=pd.DataFrame(data={......
  • python 快速替换csv数据集字符串列表中的表情符号为空,asyncio,re,pandas
     传统的字符串列表替换字符串使用遍历非常慢比如下面这段代码,如果处理几十万或上百万的数据集时,会非常的慢,几小时几天都可能importrep=re.compile(u'['u'\U0001F300-\U0001F64F'u'\U0001F680-\U0001F6FF'u'\u2600-\u2B55\U00010000-\U0010ffff]+')#text="超详细修......
  • pandas筛选出某列中含有特定文本内容的所在行
    1、所在行内容是单一的或者是标量df_fintech=df_text[df_text['业务一级分类']=="金融科技"]2、所在行内容是割裂的先转成str格式再用contains筛选df_fintech=df_text[df_text['业务一级分类'].str.contains("金融科技")]3、筛选出列值属于某个范围内的......
  • pandas中的agg和rolling和asfreq
    importpandasaspddf=pd.DataFrame({"col1":list(range(10)),"col2":list(range(1,11)),"col3":"2"*10})print(df.shape)print(df)#找出df中每列的最小值、最大值,生成新DataFrameprint(df.agg(['min','max'......
  • Python pandas读取csv文件时数字变成科学计数法(含有e)
    字段内容比较长时,Python读取会变成变成科学计数法(含有e)像这样importpandasaspsdata=ps.read_csv(r"E:\AppData\DongDong\Download\file\2023-04\BaseDataPriceDetail.csv",sep=',',usecols=[4])arrary=data.values[0::,0::]#读取全部行,全部列print(arrary[19])输出......
  • pandas.DataFrame—构建二维、尺寸可变的表格数据结构
    语法格式pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=None)常用的几个参数解释:data:一系列数据,包括多种类型;index:索引值,行标签,默认值为RangeIndex(0,1,2,…,n);columns:列标签,默认值为RangeIndex(0,1,2,…,n);dtype:设置数据......
  • pandas.DataFrame.groupby—使用映射器或通过一系列列对数据框进行分组
    语法格式DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=_NoDefault.no_default, squeeze=_NoDefault.no_default, observed=False, dropna=True)常用的几个参数解释:by:可接受映射、函数、标签或标签列表。用于确定分组。ax......
  • python结合pandas把excel列转行
    需求,在实际工作中,需要对比两个表格的数据,但是A表格的行和B表格的列做对比,但是由于环境的限制,不能用sql去进行列转行操作,就利用pandas进行一个简单的列转行(没有复合表头)。这种没有多个sheet情况,多个sheet的情况需要切换到需要的sheet内。首先下载pandas,pipinstallpandas 然后......
  • 盘点6个Pandas中批量替换字符的方法
    今日鸡汤朱雀桥边野草花,乌衣巷口夕阳斜。大家好,我是Python进阶者。一、前言前几天在Python最强王者群有个叫【dcpeng】的粉丝问了一个关于Pandas中的问题,这里拿出来给大家分享下,一起学习。想问一下我有一列编码为1,2,3,4的数据,如何将1批量换为“开心”,2批量换为“悲伤”这种字符替换呢......
  • 盘点一道使用pandas.groupby函数实战的应用题目
    今日鸡汤声喧乱石中,色静深松里。大家好,我是我是Python进阶者。一、前言前几天Python青铜群有个叫【假装新手】的粉丝问了一个数据分析的问题,这里拿出来给大家分享下。一开始以为只是一个简单的去重问题而已,【编程数学钟老师】大佬提出使用set函数,后来有粉丝发现其实没有想的这么简......