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

数据科学的原理与技巧 三、处理表格数据

我们将提出一个问题,将问题分解为大体步骤,然后使用pandas DataFrame将每个步骤转换为 Python 代码。...DataFrame的标签称为DataFrame的索引,使许多数据操作容易。 索引、切片和排序 让我们使用pandas来回答以下问题: 2016 年的五个最受欢迎的婴儿名字是?...拆分问题 我们可以将这个问题分解成以下简单的表格操作: 分割出 2016 年的行。 按照计数对行降序排序。 现在,我们可以在pandas中表达这些步骤。...我们再次将这个问题分解简单的表格操作。 将baby表'Year'和'Sex'分组。 对于每一组,计算最流行的名称。 认识到每个问题需要哪种操作,有时很棘手。...pandas通过序列的.str属性,提供字符串操作函数。

4.6K10

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

由于许多潜在的 Pandas 用户对 Excel 电子表格有一定的了解,因此本页旨在提供一些案例,说明如何使用 Pandas 执行各Excel电子表格的各种操作。...读取外部数据 Excel 和 pandas 都可以从各种来源以各种格式导入数据。 CSV 让我们从 Pandas 测试中加载显示提示数据集,这是一个 CSV 文件。...在 Excel 中,您将下载打开 CSV。在 pandas 中,您将 CSV 文件的 URL 或本地路径传递给 read_csv()。...位置提取子串 电子表格有一个 MID 公式,用于从给定位置提取子字符串。获取第一个字符: =MID(A2,1,1) 使用 Pandas,您可以使用 [] 表示法位置位置从字符串中提取子字符串。...在 Pandas 中提取单词最简单的方法是用空格分割字符串,然后索引引用单词。请注意,如果您需要,还有更强大的方法。

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

Pandas库常用方法、函数集合

Pandas是Python数据分析处理的核心第三方库,它使用二维数组形式,类似Excel表格,封装了很多实用的函数方法,让你可以轻松地对数据集进行各种操作。...用于计算两个或多个因子之间的频率 join:通过索引合并两个dataframe stack: 将数据框的列“堆叠”为一个层次化的Series unstack: 将层次化的Series转换回数据框形式 append: 将一行或多行数据追加到数据框的末尾...丢弃包含缺失值的行或列 fillna: 填充或替换缺失值 interpolate: 对缺失值进行插值 duplicated: 标记重复的行 drop_duplicates: 删除重复的行 str.strip: 去除字符串两端的空白字符...str.lower和 str.upper: 将字符串转换为小写或大写 str.replace: 替换字符串中的特定字符 astype: 将一列的数据类型转换为指定类型 sort_values: 对数据框按照指定列进行排序...日期时间 to_datetime: 将输入转换为Datetime类型 date_range: 生成日期范围 to_timedelta: 将输入转换为Timedelta类型 timedelta_range

25210

JavaScript之正则表达式

RegExp对象 语法 var patt = new RegExp(pattern, modifiers); // 或者简单的方式: var patt = /pattern/modifiers;...g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) m 执行多行匹配 对象方法 方法 描述 compile 编译正则表达式 exec 检索字符串中指定的值。...返回找到的值,确定其位置 test 检索字符串中指定的值。...parse_url的各个部分,看看它是如何工作的: ^:^字符表示此字符串的开始,它是一个锚,指引exec不要跳过那些不像URL的前缀,只匹配那些从开头就像URL一样的字符串。...A-Za-z这个字符类包含26个大写字母和26个小写字母。连接字符 - 表示范围从A-Z。后缀 + 表示这个字符类会被匹配一次或多次。这个组后面跟着字符 : ,它会字面进行匹配。

76660

初学者的10种Python技巧

在第4行,我们 将此函数.apply()应用于DataFrame指定应将哪些列作为参数传递。 axis=1 告诉pandas它应该跨列评估函数(与之相对 axis=0,后者跨行评估)。...#6 —分解一长行代码 顺便说一句,您可以在多行中将括号,方括号或大括号内的任何语句分开,以免单行运行时间过长。...#4—格式为货币 无论如何,我们在这些植物上花了多少钱?让我们将此计算的输出格式设置为money。...这是生成的DataFrame的样子: ? #2—计算总数的百分比 对每种植物物种如何造成温室总成本感到好奇吗?...#1 —多列排序 最后,让我们对DataFrame进行排序,以使兰花位于顶部,而植物则按降序排列。

2.8K20

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

目录 查看 pandas 及其支持项的版本 创建 DataFrame 重命名列 反转行序 反转列序 数据类型选择列 把字符串转换为数值 优化 DataFrame 大小 用多个文件建立 DataFrame...这样就可以生成 DataFrame 了,但如果要用非数字形式的列名,需要强制把字符串转换为列表, 再把这个列表传给 columns 参数。 ?...把字符串分割为多列 创建一个 DataFrame 示例。 ? 把姓名列分为姓与名两列,用 str.split() 方法,空格分割,并用 expand 关键字,生成一个新的 DataFrame。 ?...年龄列有 1 位小数,票价列有 4 位小数,如何将这两列显示的小数位数标准化? 用以下代码让这两列只显示 2 位小数。 ? 第一个参数是要设置的选项名称,第二个参数是 Python 的字符串格式。...本例简单介绍一下 ProfileReport() 函数,这个函数支持任意 DataFrame,生成交互式 HTML 数据报告: 第一部分是纵览数据集,还会列出数据一些可能存在的问题; 第二部分汇总每列数据

7.1K20

小蛇学python(8)pandas库之DataFrame

1.png 我们可以看到,姓名,薪酬,工作是作为列的,而自动生成的索引是作为行的。这是python中pandas约定俗称的格式。 我们可以对该表格,进行矩阵运算。比如矩阵转置。...2.png 这个操作非常简单,注意T要大写,而且非常有用。比如当我们得到一大堆已经存储在数据库中数据,我们想对它进行索引。...我们如何更改表格数据让它符合客观事实呢? 这就涉及到表格的查找了,表格的查找有很多,我把它分为位置查找和范围查找。 位置查找有三种方法,分别是函数ix、loc、iloc,ix现在已经不推荐使用了。...6.png 这是因为我的行索引为数字,而列索引是字符串导致的。这时候如果想达到要求效果就应该用loc。 frame.loc[3:4, '是否有女朋友'] = '有' ?...可以实现一图展现多行数据进行对比的功能。

1.1K20

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

,但仍然主要是用于数值计算,尤其是内部集成了大量矩阵计算模块,例如基本的矩阵运算、线性代数、fft、生成随机数等,支持灵活的广播机制 pandas主要用于数据处理与分析,支持包括数据读写、数值计算、数据处理...,首行被认为是合法的而可以保留 删除重复值,drop_duplicates,行检测删除重复的记录,也可通过keep参数设置保留项。...count、value_counts,前者既适用于series也适用于dataframe,用于列统计个数,实现忽略空值后的计数;而value_counts则仅适用于series,执行分组统计,默认频数高低执行降序排列...,如果是dataframe对象,也可通过axis参数设置排序方向是行还是列,同时根据by参数传入指定的行或者列,可传入多行或多列分别设置升序降序参数,非常灵活。...仍然考虑前述学生成绩表的例子,但是再增加一列班级信息,需求是统计各班级每门课程的平均分。

13.8K20

使用Python对Excel数据进行排序,更高效!

标签:Python与Excel,pandas 表排序是Excel中的一项常见任务。我们对表格进行排序,以帮助容易地查看或使用数据。...因此,这里将向你展示如何使用Python对Excel数据表进行排序,保证速度和效率!...ascending:True表示升序排序,False表示降序排序。 inplace:如果为True,则生成的数据框架将替换原始数据框架,默认值为False。....sort_values() 主要用于任意列排序。 这些参数类似于.sort_index()方法,只是我们现在可以指定作为排序依据的列: by:要排序的列。可以获取字符串字符串列表。...图2 索引对表排序 我们还可以升序或降序对表进行排序。 图3 指定列排序 我们已经看到了如何索引排序,现在让我们看看如何单个列排序。让我们购买日期对表格进行排序。

4.4K20

Pandas 25 式

目录 查看 pandas 及其支持项的版本 创建 DataFrame 重命名列 反转行序 反转列序 数据类型选择列 把字符串转换为数值 优化 DataFrame 大小 用多个文件建立 DataFrame...这样就可以生成 DataFrame 了,但如果要用非数字形式的列名,需要强制把字符串转换为列表, 再把这个列表传给 columns 参数。 ?...把字符串分割为多列 创建一个 DataFrame 示例。 ? 把姓名列分为姓与名两列,用 str.split() 方法,空格分割,并用 expand 关键字,生成一个新的 DataFrame。 ?...此表显示了整体幸存率,及性别与舱型划分的幸存率。 把聚合函数 mean 改为 count,就可以生成交叉表。 ? 这里显示了每个类别的记录数。 23....年龄列有 1 位小数,票价列有 4 位小数,如何将这两列显示的小数位数标准化? 用以下代码让这两列只显示 2 位小数。 ? 第一个参数是要设置的选项名称,第二个参数是 Python 的字符串格式。

8.4K00

每天一个Python知识点:只用一招就将所有的英文单词首字母变成大写

摘要:将英文单词首字母变成大写是一个古老的话题,很常用,也很简单。不过如何简单的方式批量完成这个工作,则有很多学问,不想来看看吗!...将英文单词首字母变成大写是非常常用的文本操作,使用capitalize方法可以将一个英文单词的首字母变成大写。但如何将一段文本中所有英文单词的首字母都变成大写呢?...分别用来拆分字符串;将英文单词首字母转换为大写;使用特定的分隔符(本例是空格)合并列表中的字符串。 不过这段代码好麻烦,有没有简单的方式呢?当然有,铛铛铛!...其实这行代码与前面的实现方法没有本质的区别,只是用了Python中通过for in语句生成列表的方式,将多行代码简化成了一行代码,Python简直太神奇了。...s = 'The weather is really nice today, very suitable for an outing.' print(string.capwords(s)) #将字符串中所有单词首字母大写

1.1K20

(数据科学学习手札73)盘点pandas 1.0.0中的新特性

2.1 新增StringDtype数据类型   一直以来,pandas中的字符串类型都是用object来存储的,这次更新带来的新的更有针对性的StringDtye主要是为了解决如下问题: object...图2   在jupyter lab中我们首先读入该数据查看其具体信息: # 读入StringDtype_test.xlsx查看其具体信息 StringDtype_test = pd.read_excel...图5   则正常完成了数据类型的转换,而pandas中丰富的字符串方法对新的string同样适用,譬如英文字母大写化: StringDtype_test['V2'].astype('string').str.upper...图7   下面的表格就是我直接将图7中打印出的markdown格式表格放到编辑器中再修改了表格居中的效果,只要你的编辑器支持markdown格式,就可以这样方便地生成表格: A B a 1 1 a 2...2 b 3 3 2.3 新增ignore_index参数   我们在过去版本对DataFrame或Series列使用sort_values()、index使用sort_index()排序或使用drop_duplicates

76431

你一定不能错过的pandas 1.0.0四大新特性

2.1 新增StringDtype数据类型 一直以来,pandas中的字符串类型都是用object来存储的,这次更新带来的新的更有针对性的StringDtye主要是为了解决如下问题: object类型对于字符串与非字符串混合的数据无差别的统一存储为一个类型...,而V2则为纯粹的字符串列: 图2 在jupyter lab中我们首先读入该数据查看其具体信息: # 读入StringDtype_test.xlsx查看其具体信息 StringDtype_test...中丰富的字符串方法对新的string同样适用,譬如英文字母大写化: StringDtype_test['V2'].astype('string').str.upper() 图6 2.2 markdown...7中打印出的markdown格式表格放到编辑器中的效果,只要你的编辑器支持markdown格式,就可以这样方便地生成表格: A B a 1 1 a 2 2 b 3 3 2.3 新增ignore_index...参数 我们在过去版本对DataFrame或Series列使用sort_values()、index使用sort_index()排序或使用drop_duplicates()去除数据框中的重复值时,经常会发现处理后的结果

63520

Python 最常见的 120 道面试题解析

Python 今年还是很火,不仅是编程语言排行榜前二,成为互联网公司最火热的招聘职位之一。伴随而来的则是面试题目越来越全面和深入化。...如何中断,继续通过工作? [:: - 1} 做什么? 如何在 Python 中随机化列表中的项目? 什么是 python 迭代器? 如何在 Python 中生成随机数?...你如何在 python 中写注释? 什么是 pickling 和 unpickling? python 中的生成器是什么? 你如何字符串的第一个字母大写如何字符串转换为全小写?...如何在 python 中注释多行? Python 中的文档字符串是什么? 目的是什么,不是和运营商? Python 中 help()和 dir()函数的用法是什么?...找到给定序列的最长子序列的长度,以便对子序列的所有元素进行排序,顺序递增。

6.3K20

DataFrame和Series的使用

里面没有一种数据结构对应行的概念 创建DataFrame name_list = pd.DataFrame({'姓名':['Tome','Bob'],'职业':['AI工程师','AI架构师'],'年龄':[28,36]}) # 生成三列数据...,columns=['职业','年龄'],index=['Tome','Bob']) # 原始行索引为0,1,现在行索引为Tome,Bob Series DataFrame 在这里调用的时候, 都是大写的...(Pandas 的API 有些是大写字母开头的) Series常用属性 1.加载CSV文件 data = pd.read_csv('data/nobel_prizes.csv',index_col='...df行加载部分数据:先打印前5行数据 观察第一列 print(df.head()) 最左边一列是行号,也就是DataFrame的行索引 Pandas默认使用行号作为行索引。...loc方法传入行索引,来获取DataFrame的部分数据(一行,或多行) df.loc[0] df.loc[99] df.loc[last_row_index] iloc : 通过行号获取行数据 iloc

8410

这可能是最全最实用的Vim操作集合

5.2 多行注释和去注释 多行注释: 方式一(推荐) ESC 键 将光标定位到你想开始注释的那一行,然后, ctrl + v,启动可视模式 使用向下箭头(⬇)选择要注释的行 然后 shift +...i,即大写 I 来启用插入模式 输入你的注释符号,比如 // 或 == 之类的,然后下 ESC 键,等待1秒钟,则可视模式下选中的多行都会被添加注释符号 方式二 ESC 键 将光标定位到你想开始注释的那一行...这里的 i 表示插入 去除注释: ctrl + v 进入可视模式 将所有注释符号选中 下 x 或 d 按键,则会取消所有选中行注释 5.3 多行末尾追加内容 比如我们在敲代码过程中发现每一行末尾都少加了分号...ggVGJ,ggVG 表示全选 方式二: 可视模式下选中要操作行,然后 J # 文本大小写转换 # 将单词小写转大写 gUw # 将单词大写转小写 guw # 整篇文章大写转小写 ggguG # 整篇文章小写转大写...# 在插入模式下 ctrl + n “注:这种代码补全方式是基于 vim 当前打开的所有文件的相关字符串,而不是真正的比如某种变成编译的内置函数之类可以自动找到补全。

2K20

独家 | 什么是Python的迭代器和生成器?(附代码)

我喜欢深入研究Python的各种细微差别,了解它如何应对不同的情况。 在使用Python的过程中,我了解到了一些功能,这些功能的使用与其简化的复杂度不相称。...与其将所有数据一次性都放入内存中,不如将它块处理,只处理当时所需的数据,对吗?这将大大减少我们计算机内存的负载。这就是迭代器和生成器的作用!...像列表、元组、集合、字典、字符串等等之类的对象被称为可迭代对象。简而言之,任何你可以循环的对象都是可迭代对象。 我们可以使用for循环逐个地返回可迭代的元素。...最初创建fib()生成器函数的对象时,它会初始化prev和curr变量。现在,当在对象上调用next()方法时,生成器函数会计算值返回输出,同时记住函数的状态。...但随着代码变得复杂,它们的功能会迅速变弱。在这种情况下,你发现自己会重新使用生成器函数,生成器函数在编写复杂的函数方面提供了更大的灵活性。 为什么你应该使用迭代器?

1.2K20

python数据分析——数据预处理

索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容, Pandas库中索引的作用如下: 方便地查询数据。 使用索引可以提升查询性能。...七、其他 7.1大小写转换 在数据分析中,有时候需要将字符串中的字符进行大小写转换。在Python中可以使用lower()方法,将字符串中的所有大写字母转换为小写字母。...也可以使用upper()方法,将字符串中的所有小写字母转换为大写字母。...7.2数据修改与替换 列增加数据 【例】请创建如下所示的DataFrame数据,利用Python对该数据的最后增加一列数据,要求数据的列索引为'four' ,数值为[9,10,24]。...7.3数据删除 列删除数据 【例】请构建如下DataFrame数据利用Python删除下面DataFrame实例的第四列数据。

45510
领券