首页
学习
活动
专区
圈层
工具
发布

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

读取外部数据 Excel 和 pandas 都可以从各种来源以各种格式导入数据。 CSV 让我们从 Pandas 测试中加载并显示提示数据集,这是一个 CSV 文件。...在 Pandas 中,您使用特殊方法从/向 Excel 文件读取和写入。 让我们首先基于上面示例中的数据框,创建一个新的 Excel 文件。 tips.to_excel("....pandas 通过在 DataFrame 中指定单个系列来提供矢量化操作。可以以相同的方式分配新列。DataFrame.drop() 方法从 DataFrame 中删除一列。...可以通过多种方式过滤数据框,其中最直观的是使用布尔索引。...按位置提取子串 电子表格有一个 MID 公式,用于从给定位置提取子字符串。获取第一个字符: =MID(A2,1,1) 使用 Pandas,您可以使用 [] 表示法按位置位置从字符串中提取子字符串。

22.7K20

不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...

lambda函数 这里我们向map()中传入lambda函数来实现所需功能: #因为已经知道数据gender列性别中只有F和M所以编写如下lambda函数 data.gender.map(lambda...输入多列数据 apply()最特别的地方在于其可以同时处理多列数据,我们先来了解一下如何处理多列数据输入单列数据输出的情况。...3.1 利用groupby()进行分组 要进行分组运算第一步当然就是分组,在pandas中对数据框进行分组使用到groupby()方法。...要注意的是,这里的apply传入的对象是每个分组之后的子数据框,所以下面的自编函数中直接接收的df参数即为每个分组的子数据框: import numpy as np def find_most_name...,但聚合结果的列名变成红色框中奇怪的样子,而在pandas 0.25.0以及之后的版本中,可以使用pd.NamedAgg()来为聚合后的每一列赋予新的名字: data.groupby(['year','

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

    不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...

    #查看各列数据类型、数据框行列数 print(data.dtypes) print() print(data.shape) ?...lambda函数 这里我们向map()中传入lambda函数来实现所需功能: #因为已经知道数据gender列性别中只有F和M所以编写如下lambda函数 data.gender.map(lambda...输入多列数据 apply()最特别的地方在于其可以同时处理多列数据,我们先来了解一下如何处理多列数据输入单列数据输出的情况。...要注意的是,这里的apply传入的对象是每个分组之后的子数据框,所以下面的自编函数中直接接收的df参数即为每个分组的子数据框: import numpy as np def find_most_name...可以注意到虽然我们使用reset_index()将索引列还原回变量,但聚合结果的列名变成红色框中奇怪的样子,而在pandas 0.25.0以及之后的版本中,可以使用pd.NamedAgg()来为聚合后的每一列赋予新的名字

    5.8K10

    (数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg

    *从本篇开始所有文章的数据和代码都已上传至我的github仓库:https://github.com/CNFeffery/DataScienceStudyNotes 一、简介   pandas提供了很多方便简洁的方法...()语句可以对单列或多列进行运算,覆盖非常多的使用场景,下面我们来分别介绍: ● 单列数据   这里我们参照2.1向apply()中传入lambda函数: data.gender.apply(lambda...分组后的结果也可以直接调用apply(),这样可以编写更加自由的函数来完成需求,譬如下面我们通过自编函数来求得每年每种性别出现频次最高的名字及对应频次,要注意的是,这里的apply传入的对象是每个分组之后的子数据框...,所以下面的自编函数中直接接收的df参数即为每个分组的子数据框: import numpy as np def find_most_name(df): return str(np.max(df...可以注意到虽然我们使用reset_index()将索引列还原回变量,但聚合结果的列名变成红色框中奇怪的样子,而在pandas 0.25.0以及之后的版本中,可以使用pd.NamedAgg()来为聚合后的每一列赋予新的名字

    5.9K60

    手把手 | 如何用Python做自动化特征工程

    特征工程也称为特征创建,是从现有数据构建新特征以训练机器学习模型的过程。这个步骤可能比实际应用的模型更重要,因为机器学习算法只从我们提供的数据中学习,然而创建与任务相关的特征绝对是至关重要的。...转换作用于单个表(从Python角度来看,表只是一个Pandas 数据框),它通过一个或多个现有的列创建新特征。 例如,如果我们有如下客户表。...此过程包括通过客户信息对贷款表进行分组,计算聚合,然后将结果数据合并到客户数据中。以下是我们如何使用Pandas库在Python中执行此操作。...将数据框添加到实体集后,我们检查它们中的任何一个: 使用我们指定的修改模型能够正确推断列类型。接下来,我们需要指定实体集中的表是如何相关的。...聚合就是将深度特征合成依次将特征基元堆叠 ,利用了跨表之间的一对多关系,而转换是应用于单个表中的一个或多个列的函数,从多个表构建新特征。

    4.9K10

    可自动构造机器学习特征的Python库

    特征工程也被称为特征构造,是从现有数据中构造新的特征从而训练机器学习模型的过程。...通过从一或多列中构造新的特征,「转换」作用于单张表(在 Python 中,表是一个 Pandas DataFrame)。举个例子,若有如下的客户表: ?...在将该数据框添加到实体集中后,我们检查整个实体集: ? 列的数据类型已根据我们指定的修正方案被正确推断出来。接下来,我们需要指定实体集中表是如何关联的。...尽管我们仅指定了一些特征基元,但是特征工具可以通过组合和叠加这些基元来构造新的特征。 ? 完整的数据框包含 793 列的新特征! 深度特征合成 我们现在具备理解深度特征合成(dfs)的一切条件。...深度特征合成可以依次叠加特征基元:「聚合」,它们在多张表间的一对多关联中起作用,以及「转换」,是应用于单张表中一或多列以从多张表中构造新的特征的函数。

    2.2K30

    资源 | Feature Tools:可自动构造机器学习特征的Python库

    特征工程也被称为特征构造,是从现有数据中构造新的特征从而训练机器学习模型的过程。...通过从一或多列中构造新的特征,「转换」作用于单张表(在 Python 中,表是一个 Pandas DataFrame)。举个例子,若有如下的客户表: ?...然而,payments 数据框不存在唯一索引。当我们把 payments 数据框添加到实体集中时,我们需要传入参数 make_index = True,同时指定索引的名字。...在将该数据框添加到实体集中后,我们检查整个实体集: ? 列的数据类型已根据我们指定的修正方案被正确推断出来。接下来,我们需要指定实体集中表是如何关联的。...尽管我们仅指定了一些特征基元,但是特征工具可以通过组合和叠加这些基元来构造新的特征。 ? 完整的数据框包含 793 列的新特征! 深度特征合成 我们现在具备理解深度特征合成(dfs)的一切条件。

    2.5K20

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

    例如,假设我们想看到小费金额如何随一周中的日期而变化 - DataFrameGroupBy.agg()允许您向分组的数据框传递一个字典,指示要应用于特定列的函数。...在 pandas 中,您可以使用特殊方法来读取和写入 Excel 文件。 让我们首先根据上面示例中的 tips 数据框创建一个新的 Excel 文件: tips.to_excel("....查看如何从现有列创建新列。 过滤 在 Excel 中,过滤是通过图形菜单完成的。 数据框可以通过多种方式进行过滤;其中最直观的是使用布尔索引。...在 pandas 中,您可以使用特殊方法来读取和写入 Excel 文件。 让我们首先根据上面示例中的tips数据框创建一个新的 Excel 文件: tips.to_excel("....参见如何从现有列派生新列。 过滤 在 Excel 中,过滤是通过图形菜单完成的。 DataFrames 可以以多种方式进行过滤;其中最直观的是使用布尔索引。

    89010

    pandas合并和连接多个数据框

    pandas作为数据分析的利器,提供了数据读取,数据清洗,数据整形等一系列功能。...当需要对多个数据集合并处理时,我们就需要对多个数据框进行连接操作,在pandas中,提供了以下多种实现方式 1. concat concat函数可以在行和列两个水平上灵活的合并多个数据框,基本用法如下...,对于子数据框中没有的列,以NaN进行填充。...concat函数有多个参数,通过修改参数的值,可以实现灵活的数据框合并。首先是axis参数,从numpy延伸而来的一个概念。对于一个二维的数据框而言,行为0轴, 列为1轴。...,要求列数相同,用法如下 # append 函数,将新的数据框追加为行 >>> a = pd.DataFrame(np.random.rand(2, 2), columns=['A', 'B']) >>

    2.3K20

    如何使用 Python 抓取 Reddit网站的数据?

    使用 Python 抓取 Reddit 在本文中,我们将了解如何使用Python来抓取Reddit,这里我们将使用Python的PRAW(Python Reddit API Wrapper)模块来抓取数据...例如,从特定的 Reddit 子版块中检索排名前 5 的帖子。 授权实例:使用授权实例,您可以使用 Reddit 帐户执行所有操作。可以执行点赞、发帖、评论等操作。...抓取 Reddit 子 Reddit 从 Reddit 子版块中提取数据的方法有多种。Reddit 子版块中的帖子按热门、新、热门、争议等排序。您可以使用您选择的任何排序方法。...数据框中保存数据 top_posts = pd.DataFrame(posts_dict) top_posts 输出: python Reddit 子版块的热门帖子 将数据导出到 CSV 文件: import...因此,我们也将这些评论添加到我们的列表中。最后,我们将列表转换为 pandas 数据框。

    3.7K20

    【Python环境】python 中数据分析几个比较常用的方法

    当然也有其他的方法,这里就不再深究 2,如果有很多列,如何输出指定的列? 需求情况:有的时候,数据很多,但是只要仅仅对部分列的数据进行分析的话,要怎么做?...一行读取数据,第二行访问指定列 3,如何为数据框添加新的列?...需求情况:有一个表格,里面的列是单价,数量,想再输出一个总价的列,或是对一些数据进行总结 解决方法:直接上代码 from pandas import read_csv; import pandas; df...= read_csv("1.csv", sep="|"); #把计算结果添加为一个新的列 df['result'] = df.price*df.num #新的列名,后面是对应的数值 print...总结:整体来说的,python的语法在做数据分析还是相当简单的,很多的需求基本上就是一行代码搞定! 8,如何添加整行数据? df.append([1,2,34,,5])

    1.8K80

    Pandas速查卡-Python数据科学

    来开始学习pandas等数据科学课程。...]) 添加日期索引 查看/检查数据 df.head(n) 数据框的前n行 df.tail(n) 数据框的后n行 df.shape() 行数和列数 df.info() 索引,数据类型和内存信息 df.describe...[col] 返回一维数组col的列 df[[col1, col2]] 作为新的数据框返回列 s.iloc[0] 按位置选择 s.loc['index_one'] 按索引选择 df.iloc[0,:] 第一行...加入/合并 df1.append(df2) 将df1中的行添加到df2的末尾(列数应该相同) df.concat([df1, df2],axis=1) 将df1中的列添加到df2的末尾(行数应该相同...df.describe() 数值列的汇总统计信息 df.mean() 返回所有列的平均值 df.corr() 查找数据框中的列之间的相关性 df.count() 计算每个数据框的列中的非空值的数量 df.max

    10.6K80

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

    在这篇文章中,我们将介绍 Pandas 的内存使用情况,以及如何通过为数据框(dataframe)中的列(column)选择适当的数据类型,将数据框的内存占用量减少近 90%。...最原始的数据是 127 个独立的 CSV 文件,不过我们已经使用 csvkit 合并了这些文件,并且在第一行中为每一列添加了名字。...数据框的内部表示 在底层,Pandas 按照数据类型将列分成不同的块(blocks)。这是 Pandas 如何存储数据框前十二列的预览。 你会注意到这些数据块不会保留对列名的引用。...让我们创建一个原始数据框的副本,然后分配这些优化后的数字列代替原始数据,并查看现在的内存使用情况。 虽然我们大大减少了数字列的内存使用量,但是从整体来看,我们只是将数据框的内存使用量降低了 7%。...总结和后续步骤 我们已经了解到 Pandas 是如何存储不同类型的数据的,然后我们使用这些知识将 Pandas 里的数据框的内存使用量降低了近 90%,而这一切只需要几个简单的技巧: 将数字列 downcast

    4.2K40

    05.记录合并&字段合并&字段匹配1.记录合并2.字段合并3.字段匹配3.1 默认只保留连接上的部分3.2 使用左连接3.3 使用右连接3.4 保留左右表所有数据行

    屏幕快照 2018-07-02 21.47.59.png 2.字段合并 将同一个数据框中的不同列合并成新的列。 方法x = x1 + x2 + x3 + ...合并后的数据以序列的形式返回。...(str) #合并成新列 tel = df['band'] + df['area'] + df['num'] #将tel添加到df数据框的tel列 df['tel'] = tel ?...返回值:DataFrame 参数 注释 x 第一个数据框 y 第二个数据框 left_on 第一个数据框用于匹配的列 right_on 第二个数据框用于匹配的列 import pandas items...屏幕快照 2018-07-02 22.02.37.png 3.2 使用左连接 即使与右边数据框匹配不上,也要保留左边内容,右边未匹配数据用空值代替 itemPrices = pandas.merge(...屏幕快照 2018-07-02 21.38.15.png 3.3 使用右连接 即使与左边数据框匹配不上,也要保留右边内容,左边未匹配数据用空值代替 itemPrices = pandas.merge(

    4K20

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

    我们将此数据集导出到文本文件,以便您可以获得的一些从csv文件中提取数据的经验 获取数据- 学习如何读取csv文件。数据包括婴儿姓名和1880年出生的婴儿姓名数量。...如果发现任何问题,我们将不得不决定如何处理这些记录。 分析数据- 我们将简单地找到特定年份中最受欢迎的名称。 现有数据- 通过表格数据和图表,清楚地向最终用户显示特定年份中最受欢迎的姓名。...对数据框进行排序并选择顶行 使用max()属性查找最大值 # Method 1: Sorted = df.sort_values(['Births'], ascending=False) Sorted.head...在这里,我们可以绘制出生者列并标记图表以向最终用户显示图表上的最高点。...与该表一起,最终用户清楚地了解Mel是数据集中最受欢迎的婴儿名称。plot()是一个方便的属性,pandas可以让您轻松地在数据框中绘制数据。我们学习了如何在上一节中找到Births列的最大值。

    7.3K10

    智能分析:ChatGPT+Excel+Python超强组合玩转数据分析

    向ChatGPT提的问题美其名曰提示词。 提示词的好坏,直接关系到答案的好坏。所以,提示词里有黄金,提示词里颜如玉。君不闻新晋职业提示词工程师者,年薪百万乎?...添加代码注释。 ChatGPT软件的外观很简单,类似于图2中的样子。用户只需要在底下的文本框中向ChatGPT提问即可,答案会显示在文本框上方。...用pandas导入Excel文件的数据,第1行为索引行,引擎为"openpyxl",请根据短跑成绩进行排名,用时越少排名越靠前。排名为整数,采用中国式排名,名次相同时取最小名次,数据添加在最后一列。...遍历第2行到末行,首先按照短跑成绩对各行数据进行升序排列,得到各行对应的序号。排序后的姓名和短跑成绩数据放在第E列和第F列,变量名为“姓名”和“短跑成绩(秒)”,数据从第2行开始往下放。...处理完后,最终序号添加在第G列,变量名为“排名”。给代码添加注释。 为什么会有这么明显的差异呢? 笔者考虑主要有两点原因。

    1.4K10

    使用 Python 进行财务数据分析实战

    首先选择了调整后的收盘价列,然后计算了每日的百分比变化,对任何缺失值用 0 进行了替换。接下来,将百分比变化数据框打印到控制台。...首先,我们从包含股票市场数据的名为 all_data 中选择Adj Close列,该列反映了考虑股息股票分割等因素后股票的调整后收盘价。...最后,通过比较这两个移动平均线来生成交易信号,如果短期大于长期,就将信号列设为1.0。而位置列则用来捕获信号的变化,并在生成新信号时显示。...首先需要初始化一个图形,然后添加一个子图,其中包含股票价格标签。在子图中,使用红色绘制苹果公司股票的收盘价,并加入两条移动平均线。...股份数量通过将买入或卖出信号乘以 100 来计算,创建一个名为“portfolio”的新数据框来计算“AAPL”股份的市场价值。

    1.9K10

    用Python只需要三分钟即可精美地可视化COVID-19数据

    我们将根据URL将数据加载到Pandas的数据框中,以便每天自动为我们更新。...本文中我们将使用Pandas和Matplotlib。 在第二步中,我们将数据读入数据框df,然后仅选择列表中的countries。选择数据使结果可视化更具可读性。...在第四步中,我们df对数据框进行数据透视,将案例数作为数据字段在国家/地区之外创建列。这个新的数据框称为covid。然后,我们将数据框的索引设置为日期,并将国家/地区名称分配给列标题。...我们还指定了FiveThirtyEight样式以添加一些常规格式,这些格式将在很大程度上建立。 在第七步中,我们使用Pandas的绘图功能创建了第一个可视化。...它将包含国家/地区名称的文本放在最后covid.index[-1]一天的y值(始终等于该列的最大值)的最后一个x值(→数据框中的最后日期)的右侧。

    2.9K30
    领券