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

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

pandas,python+data+analysis的组合缩写,是python中基于numpy和matplotlib的第三方数据分析库,与后两者共同构成了python数据分析的基础工具包,享有数分三剑客之名...、数据分析和数据可视化全套流程操作 pandas主要面向数据处理与分析,主要具有以下功能特色: 按索引匹配的广播机制,这里的广播机制与numpy广播机制还有很大不同 便捷的数据读写操作,相比于numpy...或字典(用于重命名行标签和列标签) reindex,接收一个新的序列与已有标签列匹配,当原标签列中不存在相应信息时,填充NAN或者可选的填充值 set_index/reset_index,互为逆操作,...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空

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

    手把手教你做一个“渣”数据师,用Python代替老情人Excel

    请按照以下链接下载数据,并将其放在与存储Python文件的同一文件夹中。...5、略过行和列 默认的read_excel参数假定第一行是列表名称,会自动合并为DataFrame中的列标签。...2、查看多列 ? 3、查看特定行 这里使用的方法是loc函数,其中我们可以指定以冒号分隔的起始行和结束行。注意,索引从0开始而不是1。 ? 4、同时分割行和列 ? 5、在某一列中筛选 ?...7、用列表筛选多种数值 ? 8、筛选不在列表或Excel中的值 ? 9、用多个条件筛选多列数据 输入应为列一个表,此方法相当于excel中的高级过滤器功能: ? 10、根据数字条件过滤 ?...由于Pandas中没有“Vlookup”函数,因此Merge用与SQL相同的备用函数。

    8.4K30

    Python数据分析-pandas库入门

    5 pandas 选择数据 6 总结 7 参考资料 pandas 库概述 pandas 提供了快速便捷处理结构化数据的大量数据结构和函数。...NumPy 数组相比,你可以通过索引的方式选取 Series 中的单个或一组值,代码示例: obj2[['a', 'b', 'c']] obj2['a']=2 obj2[['a', 'b', 'c'...DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共用同一个索引)。DataFrame 中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。...如果赋值的是一个 Series,就会精确匹配 DataFrame 的索引,所有的空位都将被填上缺失值,代码示例: val = pd.Series([-1.2, -1.5, -1.7], index=['...与 python 的集合不同,pandas 的 Index 可以包含重复的标签,代码示例: dup_labels = pd.Index(['foo','foo','bar','alice']) dup_labels

    3.7K20

    【Mark一下】46个常用 Pandas 方法速查表

    数据框与R中的DataFrame格式类似,都是一个二维数组。Series则是一个一维数组,类似于列表。数据框是Pandas中最常用的数据组织方式和对象。...从最后一行开始取后2行index查看索引In: print(data2.index) Out: RangeIndex(start=0, stop=3, step=1)结果是一个类列表的对象,可用列表方法操作对象...[0:2)之间,列名为'col1'和'col2'的记录,行索引不包含2 提示 如果选择特定索引的数据,直接写索引值即可。...Out: col1 col2 col3 0 2 a True 1 1 b True选择col3中值为True的所有记录多列单条件以所有的列为基础选择符合条件的数据...col2为维度,对col1求和,col3求均值 作者:宋天龙 摘自:《Python数据分析与数据化运营(第2版)》 来源:Python爱好者社区

    4.9K20

    Python3分析CSV数据

    2.2 筛选特定的行 在输入文件筛选出特定行的三种方法: 行中的值满足某个条件 行中的值属于某个集合 行中的值匹配正则表达式 从输入文件中筛选出特定行的通用代码结构: for row in filereader...pandas提供loc函数,可以同时选择特定的行与列。.../usr/bin/env python3 import csv import glob # glob模块可以定位匹配于某个特定模式的所有路径名。...最后,对于第三个值,使用内置的len 函数计算出列表变量header 中的值的数量,这个列表变量中包含了每个输入文件的列标题列表。我们使用这个值作为每个输入文件中的列数。...基本过程就是将每个输入文件读取到pandas数据框中,将所有数据框追加到一个数据框列表,然后使用concat 函数将所有数据框连接成一个数据框。

    6.7K10

    干货:手把手教你用Python读写CSV、JSON、Excel及解析HTML

    用索引可以很方便地辨认、校准、访问DataFrame中的数据。索引可以是一列连续的数字(就像Excel中的行号)或日期;你还可以设定多列索引。...这是个嵌套的、类似字典的结构,以逗号为分隔符,存储键值对;键与值之间以冒号分隔。JSON格式独立于具体平台(就像XML,我们将在 用Python读写XML文件介绍),便于平台之间共享数据。...拿最新的XLSX格式来说,Excel可以在单个工作表中存储一百多万行及一万六千多列。 1. 准备 要实践这个技法,你要先装好pandas模块。此外没有要求了。 2....更多 读取Excel文件,除了用pandas的read_excel(...)方法,你也可以选择其它Python模块。pandas使用xlrd读取数据并转成DataFrame。...进而使用.rows迭代器,遍历工作表中每一行,将所有单元格中的数据加入data列表: print ( [item[labels.index('price')] for item in data[0:10

    8.4K20

    Python玩数据入门必备系列(7):最会匹配的集合——字典

    > 最近有许多小伙伴问我要入门 Python 的资料,还有小伙伴完全没有入门 Python 就直接购买了我的 pandas 专栏。...这样的问题,他也能快速给你答案: - 行14:'张三' in mapping ,判断某个值是否在字典的 key 列中 - 在 Python 中, xx in 集合 ,是一个通用表达某个值是否在一个集合中的语义...由此你可以推断,此语法同样可以用在列表和元组中 但是,如果需要根据多列的信息定位一行数据,似乎字典做不到?...如下是各个班的成绩: - 我希望给出一个班别,快速得到该班的所有学生的记录(多行) 代码如下: - 行14:判断班级值是否在字典,如果存在,表明此时已经执行过 行17 的代码了。...由于字典中每一行数据都存在 key 与 value,因此使用 {key:value} 表示,用冒号把 key 与 value 分隔开来 - 字典中的行之间用逗号分隔。

    91920

    Pandas 秘籍:1~5

    这些参数中的每一个都可以设置为字典,该字典将旧标签映射到它们的新值。 更多 重命名行标签和列标签有多种方法。 可以直接将索引和列属性重新分配给 Python 列表。...当列表具有与行和列标签相同数量的元素时,此分配有效。 以下代码在每个索引对象上使用tolist方法来创建 Python 标签列表。...序列和数据帧索引器允许按整数位置(如 Python 列表)和标签(如 Python 字典)进行选择。.iloc索引器仅按整数位置选择,并且与 Python 列表类似。....同时选择数据帧的行和列 直接使用索引运算符是从数据帧中选择一列或多列的正确方法。 但是,它不允许您同时选择行和列。...逗号左侧的选择始终根据行索引选择行。 逗号右边的选择始终根据列索引选择列。 不必同时选择行和列。 步骤 2 显示了如何选择所有行和列的子集。 冒号表示一个切片对象,该对象仅返回该维度的所有值。

    37.6K10

    懂Excel轻松入门Python数据分析包pandas(十八):pandas 中的 vlookup

    此系列文章收录在公众号中:数据大宇宙 > 数据处理 >E-pd > 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。...今天就来看看 pandas 中任何实现 Excel 中的多列批量 vlookup 的效果 案例1:简单匹配 一天,你收到一份数据源表如下: - 每个人每个城市的销售额数据 接着,你需要把下图的表格从数据源表匹配过来...pandas 中怎么实现: - 行6、7,由于现在需要姓名匹配,我们把2份数据的姓名列设置为行索引 - 行9,简单调用 update 方法,表示 df_tg 按照 df_src 更新值 由于 pandas...> 注意:本文所有的 pandas 更新方法,都是索引更新,而非遍历更新,因此速度非常快。...pandas 没有那么多花俏的东西,还是那段代码: - 行6和7,设置 姓名 与 城市 作为行索引即可,其他代码不变 这里的案例只是行索引为多层索引,实际上即使是列标题为多层复合,也能用同样的方式匹配

    3K20

    Pandas 学习手册中文第二版:1~5

    下面显示了结果的结果索引: 可以使用.loc属性通过索引标签显式访问行。 以下代码通过索引标签检索一行: 可以使用整数位置列表选择DataFrame对象中的特定行。....all()方法可以确定Series中的所有值是否与给定表达式匹配。...-2e/img/00137.jpeg)] 分配给.index属性的列表中的元素数必须与行数匹配,否则将引发异常。...使用布尔选择来选择行 可以使用布尔选择来选择行。 当应用于数据帧时,布尔选择可以利用多列中的数据。...这是一个与布尔选择类似的过程,在该过程中,我们选择了除要删除的行以外的所有行。 假设我们要从sp500中除去除前三个记录以外的所有记录。 执行此任务的片是[:3],它返回前三行。

    8.3K10

    《Python for Excel》读书笔记连载11:使用pandas进行数据分析之组合数据

    说明:近期有点忙,这本书的更新慢了一些,深感抱歉!特将这部分免费呈现给有兴趣的朋友。前面的内容链接如下: 1.为什么为Excel选择Python? 2.为什么为Excel选择Python?...左联接(leftjoin)获取左数据框架df1中的所有行,并在索引上匹配右数据框架df2中的行,在df2没有匹配行的地方,pandas将填充NaN。左联接对应于Excel中的VLOOKUP情况。...右联接(rightjoin)获取右表df2中的所有行,并将它们与df1中索引相同的行相匹配。...最后,外联接(outerjoin)是完全外联接(fullouter join)的缩写,它从两个数据框架中获取索引的并集,并尽可能匹配值。表5-5相当于图5-3的文本形式。...merge接受on参数以提供一个或多个列作为联接条件(joincondition):这些列必须存在于两个数据框架中,用于匹配行: 由于join和merge接受相当多的可选参数以适应更复杂的场景,因此你可以查看官方文档以了解关于它们的更多信息

    2.5K20

    懂Excel轻松入门Python数据分析包pandas(十八):pandas 中的 vlookup

    > 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。...今天就来看看 pandas 中任何实现 Excel 中的多列批量 vlookup 的效果 案例1:简单匹配 一天,你收到一份数据源表如下: - 每个人每个城市的销售额数据 接着,你需要把下图的表格从数据源表匹配过来...pandas 中怎么实现: - 行6、7,由于现在需要姓名匹配,我们把2份数据的姓名列设置为行索引 - 行9,简单调用 update 方法,表示 df_tg 按照 df_src 更新值 由于 pandas...> 注意:本文所有的 pandas 更新方法,都是索引更新,而非遍历更新,因此速度非常快。...pandas 没有那么多花俏的东西,还是那段代码: - 行6和7,设置 姓名 与 城市 作为行索引即可,其他代码不变 这里的案例只是行索引为多层索引,实际上即使是列标题为多层复合,也能用同样的方式匹配

    1.8K40

    Pandas 25 式

    操控缺失值 把字符串分割为多列 把 Series 里的列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合的输出结果 选择行与列 重塑多重索引 Series 创建透视表...最直接的方式是把 ::-1 传递给 loc 访问器,与 Python 里反转列表的切片法一样。 ?...使用 Python 内置的 glob 更方便。 ? 把文件名规则传递给 glob(),这里包括通配符,即可返回包含所有合规文件名的列表。...用 dropna() 删除列里的所有缺失值。 ? 只想删除列中缺失值高于 10% 的缺失值,可以设置 dropna() 里的阈值,即 threshold. ? 16....要解决这个问题得用 transform() 方法,这个方法执行同样的计算,但返回与原始数据行数一样的输出结果,本例中为 4622 行。 ?

    8.4K00

    在Python中实现Excel的VLOOKUP、HLOOKUP、XLOOKUP函数功能

    标签:Python与Excel,pandas Excel的LOOKUP公式可能是最常用的公式之一,因此这里将在Python中实现Excel中查找系列公式的功能。...return_array.loc[]返回一个带有基于上述布尔索引的值的pandas系列,只返回True值。...pandas系列的一个优点是它的.empty属性,告诉我们该系列是否包含值或空,如果match_value为空,那么我们知道找不到匹配项,然后我们可以通知用户在数据中找不到查找值。...最后,因为我们只想保留第一个值(如果有多个条目),所以我们通过从返回的列表中指定[0]来选择第一个元素。 让我们测试一下这个函数,似乎工作正常!...让我们看看它的语法,下面是一个简化的参数列表,如果你想查看完整的参数列表,可查阅pandas的官方文档。

    7.4K11

    图解pandas模块21个常用操作

    Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。...3、从字典创建一个系列 字典(dict)可以作为输入传递,如果没有指定索引,则按排序顺序取得字典键以构造索引。如果传递了索引,索引中与标签对应的数据中的值将被拉出。 ?...7、从列表创建DataFrame 从列表中很方便的创建一个DataFrame,默认行列索引从0开始。 ?...9、列选择 在刚学Pandas时,行选择和列选择非常容易混淆,在这里进行一下整理常用的列选择。 ? 10、行选择 整理多种行选择的方法,总有一种适合你的。 ? ? ?...14、聚合函数 data.function(axis=0) 按列计算 data.function(axis=1) 按行计算 ? 15、分类汇总 可以按照指定的多列进行指定的多个运算进行汇总。 ?

    9K22

    Python数据分析笔记——Numpy、Pandas库

    Python数据分析——Numpy、Pandas库 总第48篇 ▼ 利用Python进行数据分析中有两个重要的库是Numpy和Pandas,本章将围绕这两个库进行展开介绍。...一维数组的索引 多维数组的索引 (2)切片索引 一维数组的切片索引(与Python列表的切片索引一样) 多维数组的切片索引 (3)花式索引 元素索引和切片索引都是仅局限于连续区域的值,而花式索引可以选取特定区域的值...DataFrame既有行索引也有列索引,其中的数据是以一个或多个二维块存放的,而不是列表、字典或别的一维数据结构。...也可以给某一列赋值一个列表或数组,其长度必须跟DataFrame长度相匹配。如果赋值的是一个Series,则对应的索引位置将被赋值,其他位置的值被赋予空值。...obj.rank() (2)DataFrame数据结构的排序和排名 按索引值进行排列,一列或多列中的值进行排序,通过by将列名传递给sort_index. 5、缺失数据处理 (1)滤出缺失数据 使用data.dropna

    6.4K80

    Pandas图鉴(三):DataFrames

    还有两个创建DataFrame的选项(不太有用): 从一个dict的列表中(每个dict代表一个行,它的键是列名,它的值是相应的单元格值)。...如果你 "即时" 添加流媒体数据,则你最好的选择是使用字典或列表,因为 Python 在列表的末尾透明地预分配了空间,所以追加的速度很快。...DataFrame有两种可供选择的索引模式:loc用于通过标签进行索引,iloc用于通过位置索引进行索引。 在Pandas中,引用多行/列是一种复制,而不是一种视图。...所有的算术运算都是根据行和列的标签来排列的: 在DataFrames和Series的混合操作中,Series的行为(和广播)就像一个行-向量,并相应地被对齐: 可能是为了与列表和一维NumPy向量保持一致...就像1:1的关系一样,要在Pandas中连接一对1:n的相关表,你有两个选择。

    44420

    Stata与Python等效操作与调用

    中没有 Stata 中的数据标签 ( value label ) 1.7 数据合并与匹配 df_joint = df1.append(df2) Pandas DataFrames 匹配不需要指定“多对一...2, 3) 保留 DataFrame "right" 所有的观测值 how='inner' keep(3) 保留匹配上的观测值 how='outer' keep(1 2 3) 保留所有观测值 1.8...但是可以使用 DataFrame 的索引(行的等效列)来完成大多数(但不是全部)相同的任务。...在 Python 和 Pandas 中,DataFrame 索引可以是任何值(尽管您也可以通过行号引用行;参见 .loc 与 iloc )。...Stata 与 Python 交互 Stata16.0 提供了 Python 模块,能够在 Stata 中调用 Python ,交互功能的拓展对 Stata 和 Python 都是好消息,因为给双方都提供了一种便利的选择

    10K51
    领券