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

Pandas 25 式

用多个文件建立 DataFrame ~ 按行 本段介绍怎样把分散于多个文件的数据集读取为一个 DataFrame。 比如,有多个 stock 文件,每个 CSV 文件里只存储一天的数据。...本例里,glob 会查找 data 子目录里所有以 stocks 开头的 CSV 文件。 ? glob 返回的是无序文件名,要用 Python 内置的 sorted() 函数排序列表。...,这是因为 data 目录里还有一个叫 stocks.csv 的文件,如果用 *,会读取出 4 个文件,而不是原文中的 3 个文件。 ? 生成的 DataFrame 索引有重复值,见 “0、1、2”。...计算每单的总价,要按 order_id 进行 groupby() 分组,再按 item_price 计算每组的总价。 ? 有时,要用多个聚合函数,不一定只是 sum() 一个函数。...按性别(Sex)统计男女的幸存率,需要使用 groupby()。 ? 要按性别与舱型(Pclass)统计幸存率,就要按性别与舱型进行 groupby()。 ?

8.4K00

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

用多个文件建立 DataFrame ~ 按行 本段介绍怎样把分散于多个文件的数据集读取为一个 DataFrame。 比如,有多个 stock 文件,每个 CSV 文件里只存储一天的数据。...本例里,glob 会查找 data 子目录里所有以 stocks 开头的 CSV 文件。 ? glob 返回的是无序文件名,要用 Python 内置的 sorted() 函数排序列表。...,这是因为 data 目录里还有一个叫 stocks.csv 的文件,如果用 *,会读取出 4 个文件,而不是原文中的 3 个文件。 ? 生成的 DataFrame 索引有重复值,见 “0、1、2”。...计算每单的总价,要按 order_id 进行 groupby() 分组,再按 item_price 计算每组的总价。 ? 有时,要用多个聚合函数,不一定只是 sum() 一个函数。...按性别(Sex)统计男女的幸存率,需要使用 groupby()。 ? 要按性别与舱型(Pclass)统计幸存率,就要按性别与舱型进行 groupby()。 ?

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

    量化投资中常用python代码分析(一)

    一般,最常用的交易数据存储格式是csv,但是csv有一个很大的缺点,就是无论如何,存储起来都是一个文本的格式,例如日期‘2018-01-01’,在csv里面是字符串格式存储,每次read_csv的时候,...而且,csv文件万一一不小心被excel打开之后,说不定某些格式会被excel“善意的改变”,譬如字符串‘000006’被excel打开之后,然后万一选择了保存,那么再次读取的时候,将会自动变成数值,前面的五个...所以笔者建议,凡是pandas格式的数据,想存储下来,就用hdfs格式。       例如下面这样的一个数据: ?      ...所谓的截面数据处理,就是站在某一个交易日,或者某一个时间点,来考察全市场这么多股票的情况。而,通常,我们希望对时间序列上每一个时间节点都进行一次截面处理。      ...例如,我们现在有这样的一个dataframe: ? 。。。。。。 ?       显然,这个数据就是一个典型的面板数据。我们现在希望对第三列signal_raw做截面上的处理。

    1.8K20

    利用Python统计连续登录N天或以上用户

    np 第一步,导入数据 原始数据是一份csv文件,我们用pandas的方法read_csv直接读取 df = pd.read_csv(r"C:\Users\Gdc\Documents\登录日志.csv...pd.to_datetime(df["@timestamp"]) #将日期列转化为 时间格式 第三步,分组排序 分组排序是指将每个用户登录日期进行组内排序 采用groupby方法结合rank方法进行处理...第四步,计算差值 这一步是辅助操作,使用第三步中的辅助列与用户登录日期做差值得到一个日期,若某用户某几列该值相同,则代表这几天属于连续登录 因为辅助列是float型,我们在做时间差的时候需要用到to_timedelta...='d') #计算登录日期与组内排序的差值(是一个日期) ?...第六步,计算每个用户连续登录最大天数 这里用到的是sort_values和first方法,对每个用户连续登录天数做组内排序(降序),再取第一个值即为该用户连续登录最大天数 data = data.sort_values

    3.4K30

    一场pandas与SQL的巅峰大战

    虽然二者的语法,原理可能有很大差别,但在实现的功能上,他们有很多相通的地方,这里特进行一个总结,方便大家对比学习~ 本次学习的数据是虚构的订单数据,和实际业务无关,目的只是为了学习。...import pandas as pd order_data = pd.read_csv('order.csv') SQL 准备 只需将我提供的SQL文件运行一下即可将数据插入数据库表中。...我们在实际工作中经常需要按照某一列字段进行排序。...pandas中的排序使用sort_values方法,SQl中的排序可以使用order_by关键字。我们用一个实例说明:按照每个uid的订单数从高到低排序。这是在前面聚合操作的基础上的进行的。...相应的代码可以参考下方:(点击图片可以查看大图) ? 排序时,asc表示升序,desc表示降序,能看到两种方法都指定了排序方式,原因是默认是会按照升序排列。在此基础上,可以做到对多个字段的排序。

    2.3K20

    值得一看,13个好用到起飞的Python技巧!

    对字典列表进行排序 下一组日常列表任务是排序任务。根据列表中包含的项目的数据类型,我们将采用稍微不同的方式对它们进行排序。让我们首先从对字典列表进行排序开始。...对字符串列表进行排序 我们经常面临包含字符串的列表,我们需要按字母顺序、长度或我们想要或我们的应用程序需要的任何其他因素对这些列表进行排序。...现在,我应该提到这些是对字符串列表进行排序的直接方法,但有时您可能需要实现排序算法来解决该问题。...根据另一个列表对列表进行排序 有时,我们可能想要/需要使用一个列表来对另一个列表进行排序。因此,我们将有一个数字列表(索引)和一个我想使用这些索引进行排序的列表。...反转字典 一个非常常见的字典任务是如果我们有一个字典并且想要反转它的键和值。因此,键将成为值,而值将成为键。

    90720

    使用Pandas melt()重塑DataFrame

    重塑 DataFrame 是数据科学中一项重要且必不可少的技能。在本文中,我们将探讨 Pandas Melt() 以及如何使用它进行数据处理。...最简单的melt 最简单的melt()不需要任何参数,它将所有列变成行(显示为列变量)并在新列值中列出所有关联值。...有两个问题: 确认、死亡和恢复保存在不同的 CSV 文件中。将它们绘制在一张图中并不简单。 日期显示为列名,它们很难执行逐日计算,例如计算每日新病例、新死亡人数和新康复人数。...换句话说,我们将所有日期列转换为值。使用“省/州”、“国家/地区”、“纬度”、“经度”作为标识符变量。我们稍后将它们进行合并。...所有这些都按日期和国家/地区排序,因为原始数据已经按国家/地区排序,并且日期列已经按 ASC 顺序排列。

    3K11

    13 个非常有用的 Python 代码片段

    ,根据列表中包含的元素的数据类型,我们将采用稍微不同的方式对它们进行排序。...,我们需要按字母顺序、长度或我们想要或我们的应用程序需要的任何其他因素对这些列表进行排序my_list = ["blue", "red", "green"]#1- Using sort or srted...localefrom functools import cmp_to_keymy_list = sorted(my_list, key=cmp_to_key(locale.strcoll)) 5:根据另一个列表对列表进行排序有时...,我们可能需要使用一个列表来对另一个列表进行排序,因此,我们将有一个数字列表(索引)和一个我们想使用这些索引进行排序的列表a = ['blue', 'green', 'orange', 'purple'...list) for dict in dicts: for key in dict: res[key].append(d[key]) return dict(mdict)8:反转字典一个非常常见的字典任务是如果我们有一个字典并且想要翻转它的键和值

    74930

    13 个非常有用的 Python 代码片段,建议收藏!

    ,我们希望将它们合并为字典形式,其中一个列表的项作为字典的键,另一个作为值。...这一组日常列表任务是排序任务,根据列表中包含的元素的数据类型,我们将采用稍微不同的方式对它们进行排序。...我们经常面临包含字符串的列表,我们需要按字母顺序、长度或我们想要或我们的应用程序需要的任何其他因素对这些列表进行排序 my_list = ["blue", "red", "green"] #1- Using...有时,我们可能需要使用一个列表来对另一个列表进行排序,因此,我们将有一个数字列表(索引)和一个我们想使用这些索引进行排序的列表 a = ['blue', 'green', 'orange', 'purple...for dict in dicts: for key in dict: res[key].append(d[key]) return dict(mdict) №8:反转字典 一个非常常见的字典任务是如果我们有一个字典并且想要翻转它的键和值

    70540

    一场pandas与SQL的巅峰大战

    虽然二者的语法,原理可能有很大差别,但在实现的功能上,他们有很多相通的地方,这里特进行一个总结,方便大家对比学习~ 本次学习的数据是虚构的订单数据,和实际业务无关,目的只是为了学习。...import pandas as pd order_data = pd.read_csv('order.csv') SQL 准备 只需将我提供的SQL文件运行一下即可将数据插入数据库表中。...我们在实际工作中经常需要按照某一列字段进行排序。...pandas中的排序使用sort_values方法,SQl中的排序可以使用order_by关键字。我们用一个实例说明:按照每个uid的订单数从高到低排序。这是在前面聚合操作的基础上的进行的。...相应的代码可以参考下方:(点击图片可以查看大图) ? 排序时,asc表示升序,desc表示降序,能看到两种方法都指定了排序方式,原因是默认是会按照升序排列。在此基础上,可以做到对多个字段的排序。

    1.6K10

    pandas 拼接 concat 5 个常用技巧!

    2.避免重复索引 我们知道了concat()函数会默认保留原dataframe的索引。那有些情况,我想保留原来的索引,并且我还想验证合并后的结果是否有重复的索引,该怎么办呢?...虽然,它会自动将两个df的列对齐合并。但默认情况下,生成的DataFrame与第一个DataFrame具有相同的列排序。例如,在以下示例中,其顺序与df1相同。...如果想要按字母顺序对结果DataFrame进行排序,则可以设置参数sort=True。...'name'] res = pd.concat([df1, df2]) res[custom_sort] 5.连接CSV文件数据集 假设我们需要从一堆CSV文件中加载并连接数据集。...ps.glob('*.csv') ) res = pd.concat(dfs) res 这样就可以用一行代码读取所有CSV文件并生成DataFrames的列表dfs。

    54510

    MySQL数据库常见面试题,不得不看!!!

    IFNULL()方法将会测试它的第一个参数,若不为NULL则返回该参数的值,否则返回第二个参数的值 mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM...选择MySQL而不选orcale的原因 MySQL开源 MySQL轻便快捷 MySQL对命令行和图形界面的支持都很好 MySQL支持通过Query Browser进行管理 7....当处理大型表的时候我们可能需要手动导出,不过对于小表的话可以直接使用想phpMyAdmin等这样的工具。...什么是CSV表? 答:CSV是逗号分隔值(Comma-Separated Values)或也被称为字符分隔值(Character-Separated Values)的缩写。...CSV表以纯文本和表格形式来存储数据。 每一条记录都使用特定的分隔符隔开(如逗号,分号,…),并且每条记录都有着顺序相同的列。

    82420

    在命令行进行sort排序【Linux-Command line】

    例如,如果有一个支出清单,你可能想要按日期,价格升序或类别等因素对它们进行排序。 如果习惯使用终端,你可能不希望仅为了进行文本数据排序就启用大型office应用程序。...在本文中,我将尝试说明GNU和BSD的实现。 按字母顺序对行排序 在默认情况下,sort命令查看文件每一行的第一个字符,并以字母升序输出每一行。 如果多行中的两个字符相同,则会考虑下一个字符。...这是电子表格导出的一种通用数据格式,CSV(逗号分隔值)文件扩展名可以识别此类文件(尽管CSV文件不必以逗号分隔,分隔文件也不必使用 CSV扩展名以确保有效且可用)。...但是,人们经常使用其他方式来识别日期,包括命名不太规律的月份。 幸运的是,GNU sort命令解决了这个问题,并且能够按月份名称正确排序。...无论是过时的设计还是巧妙的UX设计,GNU sort命令都提供了对文件进行任意排序的方法。

    2.5K00

    一场pandas与SQL的巅峰大战

    虽然二者的语法,原理可能有很大差别,但在实现的功能上,他们有很多相通的地方,这里特进行一个总结,方便大家对比学习~ 本次学习的数据是虚构的订单数据,和实际业务无关,目的只是为了学习。...import pandas as pd order_data = pd.read_csv('order.csv') SQL 准备 只需将我提供的SQL文件运行一下即可将数据插入数据库表中。...我们在实际工作中经常需要按照某一列字段进行排序。...pandas中的排序使用sort_values方法,SQl中的排序可以使用order_by关键字。我们用一个实例说明:按照每个uid的订单数从高到低排序。这是在前面聚合操作的基础上的进行的。...相应的代码可以参考下方:(点击图片可以查看大图) ? 排序时,asc表示升序,desc表示降序,能看到两种方法都指定了排序方式,原因是默认是会按照升序排列。在此基础上,可以做到对多个字段的排序。

    1.7K40

    Pandas知识点-排序操作

    :Jupyter Notebook的安装和使用 一、数据读取 数据文件是600519.csv,将此文件放到代码同级目录下,从文件中读取出数据。...level: 当DataFrame的行索引为多重索引时,通过level参数可以指定按多重索引中的一个或多个行索引进行排序,level参数默认为None,按多重索引中的第一个行索引排序。...给level传值时,可以传入行索引的key(索引名),如:“日期”、“收盘价”,也可以传入行索引的数值索引,如:0或1,0对应“日期”,1对应“收盘价”。...如果要按多重索引内的多个行索引排序,可以给level传入一个列表,这样会先按列表中的第一个行索引排序,当第一个行索引有相等的值时,再按第二个行索引进行排序,以此类推。...按多个列进行排序 ? 给by参数传入多个列索引值时(用列表的方式),即可以对多个列进行排序。当第一列中有相等的数据时,依次按后面的列进行排序。ascending参数的用法与按多重索引排序一样。

    1.9K30

    使用Plotly创建带有回归趋势线的时间序列可视化图表

    代替由点按时间顺序连接的点,我们有了某种奇怪的“ z”符号。 运行中的go.Scatter()图,但未达到预期。点的连接顺序错误。下面图形是按日期对值进行排序后的相同数据。...这个小问题可能会令人沮丧,因为使用px,图形可以按您期望的方式运行,而无需进行任何调整,但go并非如此。要解决该问题,只需确保按日期对数组进行排序,以使其按某种逻辑顺序绘制和连接点。...读取和分组数据 在下面的代码块中,一个示例CSV表被加载到一个Pandas数据框架中,列作为类型和日期。类似地,与前面一样,我们将date列转换为datetime。...,但是我们也需要按日期排序。...总结 在本文中介绍了使用Plotly将对象绘制成带有趋势线的时间序列来绘制数据。 解决方案通常需要按所需的时间段对数据进行分组,然后再按子类别对数据进行分组。

    5.2K30

    使用R或者Python编程语言完成Excel的基础操作

    以下是一些其他的操作: 数据分析工具 数据透视表:对大量数据进行快速汇总和分析。 数据透视图:将数据透视表的数据以图表形式展示。 条件格式 数据条:根据单元格的值显示条形图。...色阶:根据单元格的值变化显示颜色的深浅。 图标集:在单元格中显示图标,以直观地表示数据的大小。 公式和函数 数组公式:对一系列数据进行复杂的计算。...目标 找出每个商店每月的总销售额,并按商店和日期排序。...)读取CSV或文本文件。...在实际工作中,直接使用Pandas进行数据处理是非常常见的做法,因为Pandas提供了对大型数据集进行高效操作的能力,以及丰富的数据分析功能。

    24010

    Power Query 真经 - 第 7 章 - 常用数据转换

    这个数据包含在 “第 07 章示例文件 \Splitting Data.txt” 文件中,当通过【从文本 / CSV】连接器导入 Power Query 编辑器时,看起来如图 7-12 所示。...创建一个新的查询【来自文件】【从文本 / CSV】。 删除默认生成的 “Changed Type” 步骤。 更改 “Date” 列的数据类型,【使用区域设置】【日期】【英语 (美国)】。...当需要强制它们筛选 2022 年时,需要编辑查询并手动更改它。 7.4.3 数据排序 在本章中,要探讨的最后一项技术是排序。继续上一节的内容,用户希望按 “State” 列的升序对数据进行排序。...然后,按日期对数据进行升序排序,但将其作为 “State” 的一个子排序。换句话说,这些排序需要相互叠加,而不是相互取代。 做到这一点的步骤如下所示。...虽然排序很有用,而且在查看原始数据时可以给用户带来很大的安慰,但也需要认识到,这是以牺牲性能为代价的。用户应该问问自己,是否真的需要对数据进行排序。有时候,为了使数据的形状正确,这当然是需要的。

    7.5K31
    领券