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

数据科学 IPython 笔记本 7.5 数据索引和选择

在这里,我们将看看在 Pandas Series和DataFrame对象中,访问和修改值的类似方法。...如果你使用过 NumPy 模式,Pandas 中的相应模式将会非常熟悉,尽管有一些需要注意的怪异之处。 我们将从一维Series对象的简单情况开始,然后转向更复杂的二维DataFrame对象。...例如,如果列名不是字符串,或者列名与DataFrame的方法冲突,则无法进行属性风格的访问。...作为二维数组的数据帧 如前所述,我们还可以将DataFrame视为扩展的二维数组。...使用iloc索引器,我们可以索引底层数组,好像它是一个简单的 NumPy 数组(使用隐式的 Python 风格索引),但结果中保留了DataFrame索引和列标签: data.iloc[:3, :2]

1.7K20

数据分析利器--Pandas

1、前言 pandas是python数据分析中一个很重要的包; 在学习过程中我们需要预备的知识点有:DataFrame、Series、NumPy、NaN/None; 2、预备知识点详解 NumPy...(参考:Python 科学计算 – Numpy) Series: Series是一个一维的类似的数组对象,包含一个数组的数据(任何NumPy的数据类型)和一个与数组关联的数据标签,被叫做 索引。...默认为False keep_date_col 如果将列连接到解析日期,保留连接的列。默认为False。 converters 列的转换器 dayfirst 当解析可以造成歧义的日期时,以内部形式存储。...(): 判断哪些值是无效的 pandas.DataFrame.dropna(): 抛弃无效值 pandas.DataFrame.fillna(): 将无效值替换成为有效值 具体用法参照:处理无效值...DataFrame.drop_duplicates() 它用于返回一个移除了重复行的DataFrame DataFrame.fillna() 将无效值替换成为有效值 5、Pandas常用知识点 5.1

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

    python数据科学系列:pandas入门详细教程

    正因为pandas是在numpy基础上实现,其核心数据结构与numpy的ndarray十分相似,但pandas与numpy的关系不是替代,而是互为补充。...二者之间主要区别是: 从数据结构上看: numpy的核心数据结构是ndarray,支持任意维数的数组,但要求单个数组内所有数据是同质的,即类型必须相同;而pandas的核心数据结构是series和dataframe...pandas核心数据结构有两种,即一维的series和二维的dataframe,二者可以分别看做是在numpy一维数组和二维数组的基础上增加了相应的标签信息。...正因如此,可以从两个角度理解series和dataframe: series和dataframe分别是一维和二维数组,因为是数组,所以numpy中关于数组的用法基本可以直接应用到这两个数据结构,包括数据创建...pandas中支持大量的数据访问接口,但万变不离其宗:只要联想两种数据结构兼具numpy数组和字典的双重特性,就不难理解这些数据访问的逻辑原理。当然,重点还是掌握[]、loc和iloc三种方法。

    15K20

    Pandas | Dataframe的merge操作,像数据库一样尽情join

    merge 首先我们来看dataframe当中的merge操作,merge操作类似于数据库当中两张表的join,可以通过一个或者多个key将多个dataframe链接起来。...这里虽然我们没有指定根据哪一列完成关联,但是pandas会自动寻找两个dataframe的名称相同列来进行关联。一般情况下我们不这么干,还是推荐大家指定列名。...指定列名很简单,我们只需要传入on这个参数即可。 ? 如果需要根据多列关联,我们也可以传入一个数组。...但假如两个dataframe当中的列名不一致怎么办,比如这两个dataframe当中的一列叫做id,一列叫做number,该怎么完成join呢?...首先我们先创建一个numpy的数组: import numpy as np arr = np.random.rand(3, 4) 之后呢,我们可以用concatenate函数把这个数组横着拼或者是竖着拼

    3.3K10

    数据科学 IPython 笔记本 7.9 组合数据集:连接和附加

    在这里,我们将使用pd.concat函数的,看一下Series和DataFrame的简单连接;稍后我们将深入研究 Pandas 中实现的内存中的更复杂的合并和连接。...我们从标准导入开始: import pandas as pd import numpy as np 为方便起见,我们将定义这个函数,该函数创建一个特定形式的DataFrame,它将在下面有用: def...回忆:NumPy 数组的连接 Series和DataFrame对象的连接非常类似于 Numpy 数组的连接,这可以通过np.concatenate函数来完成,如[“NumPy 数组的基础知识”中所述。...重复的索引 np.concatenate和pd.concat之间的一个重要区别是,Pandas 的连接保留了索引,即使结果会有重复的索引!...虽然这在DataFrame中有效,但结果通常是不合需要的。pd.concat()为我们提供了一些处理它的方法。

    84620

    Pandas数据处理3、DataFrame去重函数drop_duplicates()详解

    处理,在最基础的OpenCV中也会有很多的Pandas处理,所以我OpenCV写到一般就开始写这个专栏了,因为我发现没有Pandas处理基本上想好好的操作图片数组真的是相当的麻烦,可以在很多AI大佬的文章中发现都有这个...本专栏会更很多,只要我测试出新的用法就会添加,持续更新迭代,可以当做【Pandas字典】来使用,期待您的三连支持与帮助。...import pandas as pd import numpy as np df = pd.DataFrame( {'name': ['张丽华', '李诗诗', '王语嫣', '赵飞燕',...import pandas as pd import numpy as np df = pd.DataFrame( {'name': ['张丽华', '李诗诗', '王语嫣', '赵飞燕',...import pandas as pd import numpy as np df = pd.DataFrame( {'name': ['张丽华', '李诗诗', '王语嫣', '赵飞燕',

    97830

    Pandas数据处理——渐进式学习1、Pandas入门基础

    查看列名 head查看 DataFrame 头部数据 tail查看 DataFrame 尾部数据 转Numpy数组 数据统计摘要describe函数 横纵坐标转换位置 反向排列列数据 获取列数据 使用[...对于 R 用户,DataFrame 提供了比 R 语言 data.frame 更丰富的功能。Pandas 基于 NumPy 开发,可以与其它第三方科学计算支持库完美集成。...,但数据结构的大小并非都是可变的,比如,Series 的长度不可改变,但 DataFrame 里就可以插入列。...4), index=dates, columns=[1, 2, 3, 4]) print(df.columns) 列名直接输出的数组 head查看 DataFrame 头部数据 head是头部,我们可以用这个函数来查看二维数组的头部行数...转Numpy数组 import pandas as pd import numpy as np dates = pd.date_range('20230213', periods=6) df = pd.DataFrame

    2.2K50

    Pandas 25 式

    这样就可以生成 DataFrame 了,但如果要用非数字形式的列名,需要强制把字符串转换为列表, 再把这个列表传给 columns 参数。 ?...这里要注意的是,字符串里的字符数量必须与 DataFrame 的列数一致。 3. 重命名列 ? 用点(.)选择 pandas 里的列写起来比较容易,但列名里有空格,就没法这样操作了。...只想替换列名里的空格,还有更简单的操作,直接用 str.replace 方法,不必把所有的列名都敲一遍。 ? 以上这三种方式都可以更改列名。...把每个 CSV 文件读取成 DataFrame,合并后,再删除导入的原始 DataFrame,但这种方式占用内存太多,而且要写很多代码。 使用 Python 内置的 glob 更方便。 ?...通过赋值语句,把这两列添加到原 DataFrame。 ? 如果想分割字符串,但只想保留分割结果的一列,该怎么操作? ? 要是只想保留城市列,可以选择只把城市加到 DataFrame 里。 ?

    8.4K00

    Pandas图鉴(三):DataFrames

    Pandas 给 NumPy 数组带来的两个关键特性是: 异质类型 —— 每一列都允许有自己的类型 索引 —— 提高指定列的查询速度 事实证明,这些功能足以使Pandas成为Excel和数据库的强大竞争者...Polars[2]是Pandas最近的转世(用Rust编写,因此速度更快,它不再使用NumPy的引擎,但语法却非常相似,所以学习 Pandas 后对学习 Polars 帮助非常大。...下一个选择是用NumPy向量的dict或二维NumPy数组构造一个DataFrame: 请注意第二种情况下,人口值是如何被转换为浮点数的。实际上,这发生在构建NumPy数组的早期。...这里需要注意,从二维NumPy数组中构建数据框架是一个默认的视图。这意味着改变原始数组中的值会改变DataFrame,反之亦然。此外,它还可以节省内存。...NumPy 数组和 Pandas DataFrame都没有这样做。另一种方法(如果你事先知道行的数量)是用类似 DataFrame(np.zeros) 的东西来手动预分配内存。

    44420

    pandas | 使用pandas进行数据处理——DataFrame篇

    我们创建了一个dict,它的key是列名,value是一个list,当我们将这个dict传入DataFrame的构造函数的时候,它将会以key作为列名,value作为对应的值为我们创建一个DataFrame...当我们在jupyter输出的时候,它会自动为我们将DataFrame中的内容以表格的形式展现。...从numpy数据创建 我们也可以从一个numpy的二维数组来创建一个DataFrame,如果我们只是传入numpy的数组而不指定列名的话,那么pandas将会以数字作为索引为我们创建列: ?...转成numpy数组 有时候我们使用pandas不方便,想要获取它对应的原始数据,可以直接使用.values获取DataFrame对应的numpy数组: ?...由于在DataFrame当中每一列单独一个类型,而转化成numpy的数组之后所有数据共享类型。那么pandas会为所有的列找一个通用类型,这就是为什么经常会得到一个object类型的原因。

    3.5K10

    数据分析篇 | PyCon 大咖亲传 pandas 25 式,长文建议收藏

    这样就可以生成 DataFrame 了,但如果要用非数字形式的列名,需要强制把字符串转换为列表, 再把这个列表传给 columns 参数。 ?...这里要注意的是,字符串里的字符数量必须与 DataFrame 的列数一致。 3. 重命名列 ? 用点(.)选择 pandas 里的列写起来比较容易,但列名里有空格,就没法这样操作了。...只想替换列名里的空格,还有更简单的操作,直接用 str.replace 方法,不必把所有的列名都敲一遍。 ? 以上这三种方式都可以更改列名。...把每个 CSV 文件读取成 DataFrame,合并后,再删除导入的原始 DataFrame,但这种方式占用内存太多,而且要写很多代码。 使用 Python 内置的 glob 更方便。 ?...通过赋值语句,把这两列添加到原 DataFrame。 ? 如果想分割字符串,但只想保留分割结果的一列,该怎么操作? ? 要是只想保留城市列,可以选择只把城市加到 DataFrame 里。 ?

    7.2K20

    利用NumPy和Pandas进行机器学习数据处理与分析

    本文将介绍Numpy的基本语法,包括数组的创建、索引和切片、数学运算、广播和聚合等功能,以帮助读者快速上手和熟练使用Numpy进行数值计算。...本篇博客将介绍Pandas的基本语法,以及如何利用Pandas进行数据处理,从而为机器学习任务打下坚实的基础。什么是Series?Series是pandas中的一维标记数组。...它类似于Python中的列表或数组,但提供了更多的功能和灵活性。我们可以使用Series来存储和操作单个列的数据。...例如,要访问DataFrame中的一列数据,可以使用列名:# 访问列print(df['Name'])运行结果如下要访问DataFrame中的一行数据,可以使用iloc和loc方法:# 访问行print...例如,要添加一列数据,可以将一个新的Series赋值给DataFrame的一个新列名# 添加列df['Gender'] = ['Male', 'Female', 'Male', 'Female']print

    28220

    数据科学 IPython 笔记本 7.15 高性能 Pandas

    我们在前面的章节中已经看到,PyData 技术栈的力量,建立在 NumPy 和 Pandas 通过直观语法,将基本操作推送到 C 的能力的基础上:例如 NumPy 中的向量化/广播操作,以及 Pandas...query()和eval()的动机:复合表达式 我们以前见过 NumPy 和 Pandas 支持快速向量化操作;例如,相加两个数组的元素时: import numpy as np rng = np.random.RandomState...NumPy 更有效,特别是对于大型数组。...,我们将列名称视为要求解的表达式中的变量,结果是我们希望的结果。...如前所述,涉及 NumPy 数组或 Pandas DataFrame的每个复合表达式,都会产生隐式创建的临时数组:例如,这个: x = df[(df.A < 0.5) & (df.B < 0.5)] 大致相当于这个

    67910

    数据科学 IPython 笔记本 7.4 Pandas 对象介绍

    我们将在本章的过程中看到,Pandas 在基本数据结构之上提供了许多有用的工具,方法和功能,但几乎所有后续内容都需要了解这些结构是什么。...作为扩展的 NumPy 数组的DataFrame 如果Series是具有灵活索引的一维数组的模拟,则DataFrame是具有灵活行索引和灵活列名的二维数组的模拟。...作为特化字典的DataFrame 同样,我们也可以将DataFrame视为字典的特化。 字典将键映射到值,DataFrame将列名称映射到列数据的Series。...对于DataFrame,data ['col0']将返回第一列。因此,最好将DataFrame视为扩展的字典而不是扩展的数组,尽管两种看待这个情况的方式都是实用的。...和数组之间共享索引更安全,避免了由无意的索引修改而导致的潜在的副作用。

    2.3K10

    Pandas数据处理1、DataFrame删除NaN空值(dropna各种属性值控制超全)

    Pandas文章,每个人的写法都不同,但是都是适合自己理解的方案,我是用于教学的,故而我相信我的文章更适合新晋的程序员们学习,期望能节约大家的事件从而更好的将精力放到真正去实现某种功能上去。...本专栏会更很多,只要我测试出新的用法就会添加,持续更新迭代,可以当做【Pandas字典】来使用,期待您的三连支持与帮助。...需要提供列名数组 inplace:值是True和False,True是在原DataFrame上修改,False则创建新副本 测试数据 import pandas as pd import numpy...], 'age': [22, np.nan, 16, np.nan, 27] } ) print(df) print("----subset----") # subset传的参数是列名的数组...], 'age': [22, np.nan, 16, np.nan, 27] } ) print(df) print("----subset----") # subset传的参数是列名的数组

    4.1K20

    【数据处理包Pandas】DataFrame对象的合并

    它们的主要区别: concat支持多个 DataFrame 对象的水平和垂直排放,即可以列合并也可以行合并;但与merge不同,它的合并不基于列值匹配。...import pandas as pd import numpy as np 一、回顾Numpy数组的合并 Numpy 数组的合并使用np.concatenate()方法。...对象 np.concatenate与pd.concat最主要的差异就是 Pandas 合并时会保留索引,并且允许索引是重复的。...pd.concat既可以行合并,也可以列合并;并且沿着哪个轴合并,合并对象上该轴的索引将全部保留;例如按行合并(对应于axis=0),此时参与合并的所有 DataFrame 对象的行索引则全部保留,并且由上到下按序排列...lsuffix:左侧 DataFrame 列名后缀,用于解决重叠的情况。 rsuffix:右侧 DataFrame 列名后缀,用于解决重叠的情况。

    9500

    数据规整(2)

    1 分层索引(见上一篇文章) 2 联合与合并 (1)数据库风格的联合 数据集的联合将通过一个或多个键进行联合,这些操作与数据库类似。pandas通过merge函数进行联合。...import pandas as pd import numpy as np df1 = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b']...语句如下: pd.merge(df1, df2, on = 'key') 如果对象的列名是不同的,比如df1的联合列名字key改为key1,df2的联合列名字key改为key2,此时语句应为: pd.merge...右连接相反,将右表的连接列全部保留。 当使用多个键进行合并,传入一个列名列表,即on=['key1', 'key2']。...同样的,DataFrame也有combine_first方法。 本章的数据规整到此结束,目前已经了解了pandas的基础知识,包括数据导入、清洗和重新规整。

    80810

    Pandas中的对象

    安装并使用PandasPandas对象简介Pandas的Series对象Series是广义的Numpy数组Series是特殊的字典创建Series对象Pandas的DataFrame对象DataFrame...是广义的Numpy数组DataFrame是特殊的字典创建DataFrame对象Pandas的Index对象将Index看作不可变数组将Index看作有序集合 安装并使用Pandas import numpy...Pandas对象简介 如果从底层视角观察Pandas,可以把它们看成增强版的Numpy结构化数组,行列都不再是简单的整数索引,还可以带上标签。...的Series对象比它模仿的一维Numpy数组更加通用 Series是广义的Numpy数组 Series对象和Numpy数组基本可以等价代换,但两者间的本质差异其实是索引: Numpy数组通过隐式定义的整数索引获取数值...DataFrame是广义的Numpy数组 如果将Series 类比为带灵活索引的一维数组,那么DataFrame 就可以看作是一种既有灵活的行索引,又有灵活列索引的二维数组。

    2.7K30
    领券