首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《利用Python进行数据分析·第2版》第5章 pandas入门5.1 pandas的数据结构介绍5.2 基本功能5.3 汇总和计算描述统计5.4 总结

虽然pandas采用了大量的NumPy编码风格,但二者最大的不同是pandas是专门为处理表格和混杂数据设计的。而NumPy更适合处理统一的数值数组数据。...自从2010年pandas开源以来,pandas逐渐成长为一个非常大的库,应用于许多真实案例。开发者社区已经有了800个独立的贡献者,他们在解决日常数据问题的同时为这个项目提供贡献。...: 1.7, 2002: 3.6}} 如果嵌套字典传给DataFrame,pandas就会被解释为:外层字典的键作为列,内层键则作为行索引: In [66]: frame3 = pd.DataFrame...d 3.0 e 4.0 dtype: float64 小心使用inplace,它会销毁所有被删除的数据。...0.0 1.0 这里,结果中的行标签是所有列的唯一值。

6.1K70

Pandas 2.2 中文官方教程和指南(八)

a 0.0 dtype: float64 注意 NaN(不是一个数字)是 pandas 中使用的标准缺失数据标记。...如果一个标签在其中一个 Series 中找不到,结果将被标记为缺失的 NaN。能够编写代码而无需进行任何显式数据对齐,为交互式数据分析和研究提供了巨大的自由和灵活性。...a 0.0 dtype: float64 注意 NaN(不是一个数字)是 pandas 中使用的标准缺失数据标记。...如果一个标签在一个Series或另一个中找不到,则结果将被标记为缺失的NaN。能够编写不进行任何显式数据对齐的代码为交互式数据分析和研究提供了巨大的自由和灵活性。...如果一个标签在一个Series中找不到或另一个中找不到,则结果将标记为缺失的NaN。能够编写不执行任何显式数据对齐的代码为交互式数据分析和研究提供了巨大的自由和灵活性。

31700
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python开发之Pandas的使用

    一、简介 Pandas 是 Python 中的数据操纵和分析软件包,它是基于Numpy去开发的,所以Pandas的数据处理速度也很快,而且Numpy中的有些函数在Pandas中也能使用,方法也类似。...Pandas 为 Python 带来了两个新的数据结构,即 Pandas Series(可类比于表格中的某一列)和 Pandas DataFrame(可类比于表格)。...删除NaN – df.dropna() dropna()函数还有一个参数是how,当how = all时,只会删除全部数据都为NaN的列或行。...2.0 b 0.0 0.0 10.0 8.0 3.0 4.0 0 5.0 6.0 0.0 0.0 0.0 0.0 Code 使用fillna()函数可以替换NaN为某一值。...其参数如下: value:用来替换NaN的值 method:常用有两种,一种是ffill前向填充,一种是backfill后向填充 axis:0为行,1为列

    2.9K10

    数据科学 IPython 笔记本 7.7 处理缺失数据

    Pandas 中的NaN和None NaN和None都有它们的位置,并且 Pandas 的构建是为了几乎可以互换地处理这两个值,在适当的时候在它们之间进行转换: pd.Series([1, np.nan...空值上的操作 正如我们所看到的,Pandas 将None和NaN视为基本可互换的,用于指示缺失值或空值。为了促进这个惯例,有几种有用的方法可用于检测,删除和替换 Pandas 数据结构中的空值。...(axis='columns') 2 0 2 1 5 2 6 但这也会丢掉一些好的数据; 你可能更愿意删除全部为 NA 值或大多数为 NA 值的行或列。...参数允许你为要保留的行/列指定最小数量的非空值: df.dropna(axis='rows', thresh=3) 0 1 2 3 1 2.0 3.0 5 NaN 这里删除了第一行和最后一行,因为它们只包含两个非空值...0.0 c 2.0 d 0.0 e 3.0 dtype: float64 ''' 我们可以指定前向填充来传播前一个值: # 向前填充 data.fillna(method='ffill

    4.1K20

    pandas 处理大数据——如何节省超90%内存

    pandas 自动获取数据类型:77个浮点数,6个整数,78个对象。内存使用量为 861.8 MB。 因此我们能更好的理解减少内存的使用,下面看看pandas 是如何在内存中存储数据的。...我们调用函数和方法选择,编辑,删除DataFrame中的数据时,其实是 BlockManager在’捣鬼‘。 pandas.core.internals 中每种数据类型都有一个特定类。...抛开这个,我们先看看如何提高数值的内存使用。 理解 Subtypes 之前提及到,pandas 会将数值存储为 Numpy 数组,并且连续存储在内存中。...因为原来的 DataFrame仅包含了很少的整型数据,因此内存节省有限。...当每一列包含有限的数据时,这非常有用。当pandas转换一列为 category 类型时,pandas 会使用最节省空间的 int 子类型表示每一列的唯一值。 ?

    6.3K30

    数据科学 IPython 笔记本 7.1 Pandas

    Data Analysis) 序列(Series) 数据帧(DataFrame) 重索引 删除条目 索引,选择和过滤 算术和数据对齐 函数应用和映射 排序和排名 带有重复值的轴索引 汇总和计算描述性统计量...每列可以是不同的类型。 DataFrame同时具有行索引和列索引,类似于Series的字典。行和列操作大致是对称实现的。 索引DataFrame时返回的列是底层数据的视图,而不是副本。...6 NaN NaN NaN NaN 删除条目 从Series或DataFrame中删除行: df_7 = df_6.drop([0, 1]) df_7 state pop unempl year...NaN g NaN dtype: float64 ''' 为不重叠的索引设置填充值而不是 NaN: ser_6.add(ser_7, fill_value=0) ''' a 3.388398...3 2024.0 4 2025.2 5 0.0 6 0.0 dtype: float64 ''' 计入 NaN: df_6.sum(axis=1, skipna=False

    5.2K20

    pandas 缺失数据处理大全(附代码)

    所有数据和代码可在我的GitHub获取: https://github.com/xiaoyusmd/PythonDataScience 一、缺失值类型 在pandas中,缺失数据显示为NaN。...除此之外,还要介绍一种针对时间序列的缺失值,它是单独存在的,用NaT表示,是pandas的内置类型,可以视为时间序列版的np.nan,也是与自己不相等。...type(pd.Series([1,None])[1]) >> numpy.float64 只有当传入object类型时是不变的,因此可以认为如果不是人工命名为None的话,它基本不会自动出现在pandas...[:,df.isnull().any()] >> B D 0 b1 5.0 1 None NaN 2 b2 9.0 3 b3 10.0 如果要查询没有缺失值的行和列,可以对表达式用取反~操作: df.loc...# 将dataframe所有缺失值填充为0 df.fillna(0) >> A B C D 0 a1 b1 1 5.0 1 a1 0 2 0.0 2 a2 b2 3 9.0 3 a3 b3 4 10.0

    2.4K20

    Pandas数据结构之DataFrame常见操作

    提取、添加、删除列 用方法链分配新列 索引 / 选择 数据对齐和运算 转置 DataFrame 应用 NumPy 函数 控制台显示 DataFrame 列属性访问和 IPython 代码补全 提取、添加...、删除列 DataFrame 就像带索引的 Series 字典,提取、设置、删除列的操作与字典类似: In [61]: df['one'] Out[61]: a 1.0 b 2.0 c...重建索引介绍重建索引 / 遵循新标签集的基础知识。 数据对齐和运算 DataFrame 对象可以自动对齐列与索引(行标签)的数据。与上文一样,生成的结果是列和行标签的并集。...NaN NaN DataFrame 和 Series 之间执行操作时,默认操作是在 DataFrame 的列上对齐 Series 的索引,按行执行广播)操作。...b 0.0 c 3.0 d NaN dtype: float64 对 Series 和 Index 应用二进制 ufunc 时,优先执行 Series,并返回的结果也是 Series

    1.3K40

    Pandas数据结构之DataFrame常见操作

    提取、添加、删除列 用方法链分配新列 索引 / 选择 数据对齐和运算 转置 DataFrame 应用 NumPy 函数 控制台显示 DataFrame 列属性访问和 IPython 代码补全 提取、添加...、删除列 DataFrame 就像带索引的 Series 字典,提取、设置、删除列的操作与字典类似: In [61]: df['one'] Out[61]: a 1.0 b 2.0 c...重建索引介绍重建索引 / 遵循新标签集的基础知识。 数据对齐和运算 DataFrame 对象可以自动对齐列与索引(行标签)的数据。与上文一样,生成的结果是列和行标签的并集。...NaN NaN DataFrame 和 Series 之间执行操作时,默认操作是在 DataFrame 的列上对齐 Series 的索引,按行执行广播)操作。...b 0.0 c 3.0 d NaN dtype: float64 对 Series 和 Index 应用二进制 ufunc 时,优先执行 Series,并返回的结果也是 Series

    1.8K20

    Python 金融编程第二版(二)

    在这方面最重要的数据结构之一是数组。数组通常以行和列的形式结构化其他(基本)相同数据类型的对象。 暂时假设我们仅使用数字,尽管这个概念也可以推广到其他类型的数据。...在最简单的情况下,一维数组在数学上表示为向量,通常由float对象内部表示为实数的一行或一列元素组成。在更普遍的情况下,数组表示为i × j 矩阵的元素。...pandas相当容错,以捕获错误并在相应的数学运算失败时仅放置NaN值。不仅如此,正如之前简要展示的那样,您还可以在许多情况下像处理完整数据集一样处理这些不完整数据集。...plot 方法的参数 参数 格式 描述 x 标签/位置,默认为 None 仅当列值为 x 刻度时使用 y 标签/位置,默认为 None 仅当列值为 y 刻度时使用 subplots 布尔值,默认为 False...② 所有x列的值为正且y列的值为负的行。 ③ 所有列中 x 的值为正或列中 y 的值为负的所有行(这里通过各自的属性访问列)。 比较运算符也可以一次应用于完整的 DataFrame 对象。

    20110

    Python数据处理从零开始----第三章(pandas)②处理缺失数据

    缺失值的判断 pandas使用浮点值NaN(Not a Number)表示浮点数和非浮点数组中的缺失值,同时python内置None值也会被当作是缺失值。...DataFrame的缺失值过滤 DataFrame删除缺失值相对于Series而言就要复杂一些,也许有的时候你是想删除含有缺失值的行或列,也许有时候你需要删除的是,当整行或整列全为缺失值的时候才删除,...好在pandas对于这两种情况都有相对应的处理方法。...1、删除含有缺失值的行和列 df.dropna( axis=0, # 0: 对行进行操作; 1: 对列进行操作 how='any' # 'any': 只要存在 NaN 就 drop 掉...) Out[20]: 0 1 2 3 5 6.0 7.0 data.dropna(axis=1) Out[21]: 0 0 1 1 9 2 3 3 5 2、删除全为缺失值的行和列

    1.1K10

    Pandas数据结构之DataFrame常见操作

    提取、添加、删除列 DataFrame 就像带索引的 Series 字典,提取、设置、删除列的操作与字典类似: In [61]: df['one'] Out[61]: a 1.0 b 2.0...键是新字段的列名,值为是插入值(例如,Series 或 NumPy 数组),或把 DataFrame 当做调用参数的函数。返回结果是插入新值的 DataFrame 副本。 0.23.0 版新增。...重建索引介绍重建索引 / 遵循新标签集的基础知识。 数据对齐和运算 DataFrame 对象可以自动对齐列与索引(行标签)的数据。与上文一样,生成的结果是列和行标签的并集。...NaN NaN DataFrame 和 Series 之间执行操作时,默认操作是在 DataFrame 的列上对齐 Series 的索引,按行执行广播)操作。...b 0.0 c 3.0 d NaN dtype: float64 对 Series 和 Index 应用二进制 ufunc 时,优先执行 Series,并返回的结果也是 Series

    1.4K10

    Python 数据分析(PYDA)第三版(二)

    表 4.6:基本数组统计方法 方法 描述 sum 数组或沿轴的所有元素的总和;长度为零的数组的总和为 0 mean 算术平均值;对于长度为零的数组无效(返回NaN) std, var 分别是标准差和方差...,但由于没有找到"California"的值,它显示为NaN(不是一个数字),在 pandas 中被视为标记缺失或NA值。...图 5.1:Jupyter 中 pandas DataFrame 对象的外观 对于大型 DataFrame,head方法仅选择前五行: In [51]: frame.head() Out[51]:...float64 使用 DataFrame,可以从任一轴删除索引值。...[row, col] 通过行和列标签选择单个标量值 df.iat[row, col] 通过行和列位置(整数)选择单个标量值 reindex方法 通过标签选择行或列 整数索引的陷阱 使用整数索引的 pandas

    29300
    领券