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

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

,仅支持一维和二维数据,但数据内部可以是异构数据,仅要求同列数据类型一致即可 numpy的数据结构仅支持数字索引,而pandas数据结构则同时支持数字索引和标签索引 从功能定位上看: numpy虽然也支持字符串等其他数据类型...仅支持数字索引,pandas的两种数据结构均支持标签索引,包括bool索引也是支持的 类比SQL的join和groupby功能,pandas可以很容易实现SQL这两个核心功能,实际上,SQL的绝大部分DQL...切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空...与[ ]访问类似,loc按标签访问时也是执行范围查询,包含两端结果 at/iat,loc和iloc的特殊形式,不支持切片访问,仅可以用单个标签值或单个索引值进行访问,一般返回标量结果,除非标签值存在重复...,按行检测并删除重复的记录,也可通过keep参数设置保留项。

15K20

Python进阶之Pandas入门(三) 最重要的数据流操作

通常,当我们加载数据集时,我们喜欢查看前五行左右的内容,以了解隐藏在其中的内容。在这里,我们可以看到每一列的名称、索引和每行中的值示例。...,比如行和列的数量、非空值的数量、每个列中的数据类型以及DataFrame使用了多少内存。...假设您刚刚导入了一些JSON,而这些整数被记录为字符串。你去做一些算术,发现一个“不支持的操作数”异常,因为你不能用字符串做算术。调用.info()会很快指出,您认为所有的整数实际上都是字符串对象。...drop_duplicates()的另一个重要参数是keep,它有三个可能的选项: first:(默认)删除第一次出现的重复项。 last:删除最后一次出现的重复项。 False:删除所有重复项。...这意味着如果两行是相同的,panda将删除第二行并保留第一行。使用last有相反的效果:第一行被删除。 另一方面,keep将删除所有重复项。如果两行是相同的,那么这两行都将被删除。

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

    Pandas数据聚合:groupby与agg

    引言 在数据分析中,数据聚合是一项非常重要的操作。Pandas库提供了强大的groupby和agg功能,使得我们能够轻松地对数据进行分组和聚合计算。...groupby返回的是一个GroupBy对象,该对象本身并不包含任何聚合结果,而是提供了一个接口来应用各种聚合函数。 agg 方法 agg(aggregate的缩写)用于对分组后的数据进行聚合计算。...它可以接受多种类型的参数,如字符串表示的函数名、自定义函数、字典等。通过agg,我们可以一次性对多个列应用不同的聚合函数,极大地提高了数据处理的灵活性和效率。...这在实际应用中非常有用,例如统计各部门员工的平均工资和最大工作经验。同样使用groupby和agg方法,只需传入一个包含多个列名的列表即可。 常见问题 优先级设定:明确各列之间的优先关系非常重要。...通常按照从高到低的重要性依次列出列名。 不同类型组合:当涉及不同数据类型的列一起聚合时(如数字与日期),应确保逻辑上的合理性。 性能考虑:随着参与聚合的列数增加,计算量也会相应增大。

    40810

    在数据框架中创建计算列

    panda数据框架中的字符串操作 让我们看看下面的示例,从公司名称列中拆分中文和英文名称。df[‘公司名称’]是一个pandas系列,有点像Excel或Power Query中的列。...首先,我们需要知道该列中存储的数据类型,这可以通过检查列中的第一项来找到答案。 图4 很明显,该列包含的是字符串数据。 将该列转换为datetime对象,这是Python中日期和时间的标准数据类型。...因此,days.dt.days只是从timedelta对象返回天数的整数值。然后,将这些数字除以365,我们得到一列年数。...df['成立年份'] = df['成立时间'].str.split("-",expand=True)[0] 无需检查数据类型,我们知道这个新创建的列包含字符串数据,因为.split()方法将返回一个字符串...注意,必须先把字符串转换成数字。由于今年是2021年,我们将用它来估算公司的年龄,从2021年减去每个“成立年份”。

    3.8K20

    直观地解释和可视化每个复杂的DataFrame操作

    操作数据帧可能很快会成为一项复杂的任务,因此在Pandas中的八种技术中均提供了说明,可视化,代码和技巧来记住如何做。 ?...包含值的列将转换为两列:一列用于变量(值列的名称),另一列用于值(变量中包含的数字)。 ? 结果是ID列的值(a,b,c)和值列(B,C)及其对应值的每种组合,以列表格式组织。...诸如字符串或数字之类的非列表项不受影响,空列表是NaN值(您可以使用.dropna()清除它们 )。 ? 在DataFrame df中Explode列“ A ” 非常简单: ?...请注意,concat是pandas函数,而不是DataFrame之一。因此,它接受要连接的DataFrame列表。 如果一个DataFrame的另一列未包含,默认情况下将包含该列,缺失值列为NaN。...为了防止这种情况,请添加一个附加参数join ='inner',该参数 只会串联两个DataFrame共有的列。 ? 切记:在列表和字符串中,可以串联其他项。

    13.3K20

    数据处理利器pandas入门

    想入门 Pandas,那么首先需要了解Pandas中的数据结构。因为Pandas中数据操作依赖于数据结构对象。Pandas中最常用的数据结构是 Series 和 DataFrame。...如果仅给定列表,不指定index参数,默认索引为从0开始的数字。注意:索引标签为字符串和整数的混合类型。记住不要使用浮点数作为索引,并且尽量避免使用混合类型索引。...每列可以是不同类型的数据,比如数值,字符串,逻辑值等。...:由于数据中包含了时间信息列(date和hour),为了方便操作,我们可以使用以下命令将时间列设置为索引。...即获取每个站点时,可以直接获取当前站点的所有要素数据,而且时间索引也按照单个时刻排列,索引不会出现重复值,而之前的存储形式索引会出现重复。索引重复会使得某些操作出错。

    3.7K30

    通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

    DataFrame Pandas 中的 DataFrame 类似于 Excel 工作表。虽然 Excel 工作簿可以包含多个工作表,但 Pandas DataFrames 独立存在。 3....在 Pandas 中,您通常希望在使用日期进行计算时将日期保留为日期时间对象。输出部分日期(例如年份)是通过电子表格中的日期函数和 Pandas 中的日期时间属性完成的。...给定电子表格 A 列和 B 列中的 date1 和 date2,您可能有以下公式: 等效的Pandas操作如下所示。...tips["time"].str.len() tips["time"].str.rstrip().str.len() 结果如下: 请注意,这仍然会在字符串中包含多个空格,因此不是 100% 等效的。...删除重复项 Excel 具有删除重复值的内置功能。熊猫通过 drop_duplicates() 支持这一点。

    19.6K20

    数据科学入门必读:如何使用正则表达式?

    pandas dataframe 或表格中的一列。...这和之前的代码基本一样,只是我们使用空字符串替换了 "Subject: ",以便只得到主题本身。 获取电子邮件正文 我们的字典要插入的最后一项是电子邮件正文。...现在我们将 message_from_string() 应用在 item 上,将整封电子邮件变成一个 email 消息对象。消息对象包含一个标头和一个 payload,分别对应电子邮件的标头和正文。...[\s\S]* 可用于大量文本、数字和标点符号构成的字符串,因为它既能搜索空白字符,也能搜索非空白字符。 不幸的是,有些邮件包含不止一个 Status: 字符串,还有一些邮件不包含 From r。...第 1 步,查找 sender_email 列中包含 @maktoob 字符串的行的索引。注意我们使用正则表达式的方式。

    3.6K100

    数据导入与预处理-课程总结-04~06章

    filepath_or_buffe:表示文件的路径,可以取值为有效的路径字符串、路径对象或类似文件的对象。 sep:表示指定的分隔符,默认为“,”。...,工作表中包含排列成行和列的单元格。...keep:表示采用哪种方式保留重复项,该参数可以取值为’first’(默认值)、 'last '和 ‘False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项...duplicated()方法检测完数据后会返回一个由布尔值组成的Series类对象,该对象中若包含True,说明True对应的一行数据为重复项。...,该参数可以取值为’first’(默认值)、 'last ‘和’False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项,仅保留最后一次出现的数据项;'False

    13.1K10

    Pandas数据应用:用户行为分析

    引言在当今数字化时代,用户行为分析已经成为企业了解客户需求、优化产品设计和提升用户体验的重要手段。Pandas作为Python中强大的数据分析库,为处理和分析用户行为数据提供了极大的便利。...本文将从基础概念入手,逐步深入探讨如何使用Pandas进行用户行为分析,并介绍常见问题及解决方案。一、Pandas简介与安装Pandas是一个开源的数据分析和操作工具,特别适用于结构化数据(如表格)。...所以选择合适的填充方式至关重要。(二)重复记录有时由于系统故障或其他原因,可能会出现重复记录。如果不加以清理,会导致统计结果失真。...# 检测重复项duplicates = df[df.duplicated()]print(duplicates)# 删除重复项df.drop_duplicates(inplace=True)(三)时间戳格式不统一对于包含时间信息的数据集来说...# 将字符串转换为datetime对象df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y-%m-%d %H:%M:%S')四、用户行为模式挖掘

    14900

    软件测试|数据处理神器pandas教程(十一)

    前言 “去重”通过字面意思不难理解,就是删除重复的数据。在一个数据集中,找出重复的数据删并将其删除,最终只保存一个唯一存在的数据项,这就是数据去重的整个过程。...Panda DataFrame 对象提供了一个数据去重的函数 drop_duplicates(),本节对该函数的用法做详细介绍。...keep:有三个可选参数,分别是 first、last、False,默认为 first,表示只保留第一次出现的重复项,删除其余重复项,last 表示只保留最后一次出现的重复项,False 则表示删除所有重复项...方法应用 首先创建一个包含有重复值的 DataFrame 对象,如下所示: import pandas as pd data={ 'A':[1,0,1,1], 'B':[0,2,5,0...,行标签使用的数字是原来的,并没有从 0 重新开始,那么我们应该怎么从 0 重置索引呢?

    53320

    Python 中的 pandas 快速上手之:概念初识

    有了 Pandas ,我们不用手动一行一行地读取数据,也不用手动将数据装进 Python 可以使用的数据结构中。Pandas 可以自动帮我们完成这些重复的工作,节省了大量时间和精力。...假设你手上有一个包含 10 万行数据的csv文件,文件里只有两列:timetamp 和 gas_pedal。...,它可以存储任意数据类型的数据, Name 列是一个字符串类型的 Series,同理 Age 列是一个整数类型的 Series In [3]: print(res["Name"]) 0 Alice...它包含多个按列排列的 Series 对象,每列可以有不同的数据类型(这里是字符串和浮点数)。行和列都有标签索引(这里行是 0 1 2,列是 Name Age Weight)。...总之, Index 是 Pandas 中的关键概念, DataFrame 有行索引和列索引,允许我们方便地引用数据。

    14410

    删除重复值,不只Excel,Python pandas更行

    import pandas as pd df = pd.read_excel(‘D:\用户-1.xlsx’) 图2 快速观察上述小表格: 第1行和第5行包含完全相同的信息。...第3行和第4行包含相同的用户名,但国家和城市不同。 删除重复值 根据你试图实现的目标,我们可以使用不同的方法删除重复项。最常见的两种情况是:从整个表中删除重复项或从列中查找唯一值。...图4 这一次,我们输入了一个列名“用户姓名”,并告诉pandas保留最后一个的重复值。现在pandas将在“用户姓名”列中检查重复项,并相应地删除它们。...当我们对pandas Series对象调用.unique()时,它将返回该列中唯一元素的列表。...我们的列(或pandas Series)包含两个重复值,”Mary Jane”和”Jean Grey”。通过将该列转换为一个集,我们可以有效地删除重复项!

    6.1K30

    Python常用小技巧总结

    others Python合并多个EXCEL工作表 pandas中Series和Dataframe数据类型互转 相同字段合并 Python小技巧 简单的表达式 列表推导式 交换变量 检查对象使用内存情况...⼀列的唯⼀值和计数 df.isnull().any() # 查看是否有缺失值 df[df[column_name].duplicated()] # 查看column_name字段数据重复的数据信息...# 返回第⼀⾏ df.iloc[0,0] # 返回第⼀列的第⼀个元素 df.loc[0,:] # 返回第⼀⾏(索引为默认的数字时,⽤法同df.iloc),但需要注意的是loc是按索引,iloc参数只接受数字参数...对象中的⾮空值,并返回⼀个Boolean数组 df.dropna() # 删除所有包含空值的⾏ df.dropna(axis=1) # 删除所有包含空值的列 df.dropna(axis=1,thresh...,返回的子序列中的项按输入iterable中的顺序排序。

    9.4K20

    pandas 入门 1 :数据集的创建和绘制

    我们基本上完成了数据集的创建。现在将使用pandas库将此数据集导出到csv文件中。 df将是一个 DataFrame对象。...在pandas中,这些是dataframe索引的一部分。您可以将索引视为sql表的主键,但允许索引具有重复项。...此时的名称列无关紧要,因为它很可能只是由字母数字字符串(婴儿名称)组成。本专栏中可能存在不良数据,但在此分析时我们不会担心这一点。在出生栏应该只包含代表出生在一个特定年份具有特定名称的婴儿数目的整数。...Out[1]: dtype('int64') 如您所见,Births列的类型为int64,因此此列中不会出现浮点数(十进制数字)或字母数字字符。...head(1).value 在STR()函数简单地将对象转换成一个字符串。

    6.1K10

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

    而真实世界的数据中有重复项,即使在应该是唯一的字段中也是如此。 本节描述了重复标签如何改变某些操作的行为,以及如何在操作过程中防止重复项的出现,或者在出现重复项时如何检测它们。...如上所述,在读取原始数据时处理重复项是一个重要的功能。也就是说,您可能希望避免在数据处理管道中引入重复项(从方法如pandas.concat()、rename()等)。...positions label X [0, 2] Y [1, 3] 此错误消息包含重复的标签,以及Series或DataFrame中所有重复项(包括“原始...”)的数字位置 重复标签传播 一般来说,不允许重复是“粘性的”。...positions label X [0, 2] Y [1, 3] 此错误消息包含重复的标签以及所有重复项(包括“原始”)在Series或DataFrame

    46810

    Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记

    keep:删除重复项并保留第一次出现的项取值可以为 first、last或 False  ​ duplicated()方法用于标记 Pandas对象的数据是否重复,重复则标记为True,不重复则标记为False...注意:使用combine_first()方法合并两个DataFrame对象时,必须确保它们的行索引和列索引有重叠的部分  3....数据重塑  3.1 重塑层次化索引  ​ Pandas中重塑层次化索引的操作主要是 stack()方法和 unstack()方法,前者是将数据的列“旋转”为行,后者是将数据的行“旋转”为列。 ...3.2 轴向旋转  ​ 在 Pandas中pivot()方法提供了这样的功能,它会根据给定的行或列索引重新组织一个 DataFrame对象。 ...cut()函数会返回一个Categorical对象,我们可以将其看作一组表示 面元名称 的字符串,它包含了分组的数量以及不同分类的名称。  ​

    5.5K00

    嘀~正则表达式快速上手指南(下篇)

    然而sender.group() 是一个字符串,而 re.search 接受的参数即是字符串形式。 我们来看看 s_email 和 s_name 长什么样子。 ? 同样,我们得到了匹配的对象。...如果 recipient 不为 None, 使用 re.search() 来查找包含发件人邮箱地址和姓名的匹配对象,否则,我们将传递None值给 r_email 和 r_name 。...我们已经打印出了emails 列表的第一项, 它是由键和键值对组成的字典. 由于使用了 for 循环,因此每个字典拥有相同的键,但键值不同。...最后, 最外面的emails_df[] 返回 sender_email 列视图,该列包含需要匹配的目标字符串。干的漂亮! 我们也可以单个检视邮件。 只需要以下4步。...第1步,查找包含字符串"@maktoob"的列 "sender_email" 对应的行索引。请留意我们是如何使用正则表达式来完成这项任务的。 ?

    4K10

    没错,这篇文章教你妙用Pandas轻松处理大规模数据

    我们可以看到,这个数据集共有 171,907 行、161 列。Pandas 已经自动检测了数据的类型:83 列数字(numeric),78 列对象(object)。...对象列(object columns)主要用于存储字符串,包含混合数据类型。为了更好地了解怎样减少内存的使用量,让我们看看 Pandas 是如何将数据存储在内存中的。...内存使用量降低的主要原因是我们对对象类型(object types)进行了优化。 在动手之前,让我们仔细看一下,与数字类型相比,字符串是怎样存在 Pandas 中的。...比较数字和字符串的存储方式 对象类型代表了 Python 字符串对象的值,部分原因是 NumPy 缺少对字符串值的支持。...category 类型在底层使用整数类型来表示该列的值,而不是原始值。Pandas 用一个单独的字典来映射整数值和相应的原始值之间的关系。当某一列包含的数值集有限时,这种设计是很有用的。

    3.7K40

    盘点66个Pandas函数,轻松搞定“数据清洗”!

    Pandas 是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。它提供了大量能使我们快速便捷地处理数据的函数和方法。...缺失值与重复值 Pandas清洗数据时,判断缺失值一般采用isnull()方法。...函数方法 用法释义 cat 字符串的拼接 contains 判断某个字符串是否包含给定字符 startswith/endswith 判断某个字符串是否以...开头/结尾 get 获取指定位置的字符串 len...计算字符串长度 upper、lower 英文大小写转换 pad/center 在字符串的左边、右边或左右两边添加给定字符 repeat 重复字符串几次 slice_replace 使用给定的字符串,替换指定的位置的字符...如果想直接筛选包含特定字符的字符串,可以使用contains()这个方法。 例如,筛选户籍地址列中包含“黑龙江”这个字符的所有行。

    3.8K11
    领券