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

Python|一文详解数据预处理

当数据集中出现某一列数据全都为缺失值,或者缺失值的占比很大并且业务上允许删除该属性列的时候。通常大于60%,可以考虑直接删除整列,如以下代码所示。...pandas中提供了mean()函数去计算均值,在用均值填补缺失值的时候需要去判断每一列的数据类型,如以下代码所示。...在Python中还提供了根据上(下)一条数据的值对缺失值进行填充,对于这种方式,只需要更改fillna()中的参数即可,如以下代码所示。...根据指定数据的删除方法以及缺失值的处理方法,深入学习异常值转换成缺失值。 1)计算上边缘和下边缘 判断一下该列的上边缘和下边缘,如以下代码所示。...,只需提取出gril20列对应的25%分位数和75%分位数即可,提取之后计算对应的上边缘和下边缘。

2.7K40

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

首先选择了调整后的收盘价列,然后计算了每日的百分比变化,对任何缺失值用 0 进行了替换。接下来,将百分比变化数据框打印到控制台。...它使用变量 min_periods 表示一年的一个季度,以此作为窗口大小计算滚动标准差。然后将得到的测量值乘以 min_periods 的平方根,将其年化。...这段代码将每日价格变化的百分比用于计算资产的滚动波动率。过程包括设定 min_periods 变量表示一年的一个季度,计算滚动标准差,然后将结果乘以 min_periods 的平方根,实现年化计算。...该代码还计算头寸差异,更新“持股”和“现金”列,计算投资组合在一段时间内的总回报。本质上,该代码根据给定的信号模拟“AAPL”的股票交易。...通过对每日平均收益进行标准化,使用标准差来计算夏普比率,以确定风险调整后的收益。 夏普比率的年化值是将其乘以 252 的平方根,代表一年中的典型交易日数。

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

    统计师的Python日记【第5天:Pandas,露两手】

    上一集开始学习了Pandas的数据结构(Series和DataFrame),以及DataFrame一些基本操作:改变索引名、增加一列、删除一列、排序。 今天我将继续学习Pandas。...这就很奇怪了,2012、2013、2014、2015四个年份的第一季度加总,这是什么鬼?其实我更想看横向加总,就是每一年四个季度加总,得到一年的总和,原来,指定axis=1即可: ?...这点特别注意,因为这可能会导致你的数据不必苛,比如某一年少一个季度的值,那么这一年其实就是三个季度的加总,跟其他年份四个季度怎么比?...mad() 根据平均值计算的平均绝对离差 var() 方差 std() 标准差 skew() 偏度 kurt() 峰度 cumsum() 累计和 cummax()、cummin() 累计最大值和累计最小值...也可以单独只计算两列的系数,比如计算S1与S3的相关系数: ? 二、缺失值处理 Pandas和Numpy采用NaN来表示缺失数据, ? 1.

    3K70

    使用Python进行现金流预测

    用于现金流预测的Python工具 我们可以使用列表或pandas库来预测现金流。可能还有其他工具或库,有兴趣的可以进一步研究,但这里只使用列表和pandas。...示例 假设我们有一项资产可以产生30年的收入。第一年收入是100美元,在接下来的29年里每年增长6%(30年后就没有收入了)。计算该项资产的现值,每年贴现2%。...多个输入值、公式和下拉列表,让我们看看下面的例子。这里只显示了10年,但实际的Excel文件显示了30年。...这样,当前值就是结果列表的总和。...让我们从创建一个包含30行和2列的pandas数据框架开始——一列用于收入预测,另一列用于贴现率。 图4 一旦我们有了这两个向量,我们可以将它们相乘得到贴现现金流,然后求和sum()得到现值。

    2.1K10

    使用时间特征使让机器学习模型更好地工作

    从这三个部分中,至少可以提取四个不同的特征: 一年中的一天或一个月中的一天或一周中的一天 一年中的月份 季节 年 除了年以外,所有的特征都可以两部分:正弦和余弦,这样可以获得时间的周期性,例如...一年中的月份 一年中的月份指的是 1 到 12 之间的数字。...如果 Pandas 有 DateTime 列,则可以按如下方式提取年份: df['year'] = df['date_time'].dt.year 从时间中提取特征 根据数据集的粒度,可以从 DateTime...此示例的目的是构建一个多类分类器,该分类器根据输入特征预测天气状况(由数据集的摘要列给出)。我计算了两种情况的准确性:有和没有 DateTime特征。 加载数据集 该数据集可在 Kaggle 上获得。...特征工程 现在,准备提取一年中的日期和时间。

    1.7K10

    Pandas笔记

    Pandas 纳入 了大量库和一些标准的数据模型,提供了高效地操作大型结构化数据集所需的工具。 pandas核心数据结构 数据结构是计算机存储、组织数据的方式。...一年当中的第几周 Series.dt.weekofyear # The week ordinal of the year.一年当中的第几周 Series.dt.dayofweek # The day of...一年当中的第几天 Series.dt.quarter # The quarter of the date....DataFrame具有以下特点: 列和列之间可以是不同的类型 :不同的列的数据类型可以不同 大小可变 (扩容) 标记轴(行级索引 和 列级索引) 针对行与列进行轴向统计(水平,垂直) import pandas...根据DataFrame的定义可以 知晓DataFrame是一个带有标签的二维数组,每个标签相当每一列的列名。

    7.7K10

    Pandas中的这3个函数,没想到竟成了我数据处理的主力

    导读 学Pandas有一年多了,用Pandas做数据分析也快一年了,常常在总结梳理一些Pandas中好用的方法。...数据处理环节无非就是各种数据清洗,除了常规的缺失值和重复值处理逻辑相对较为简单,更为复杂的其实当属异常值处理以及各种数据变换:例如类型转换、简单数值计算等等。...应用到DataFrame的每个Series DataFrame是pandas中的核心数据结构,其每一行和每一列都是一个Series数据类型。...②然后来一个按行方向处理的例子,例如根据性别和年龄,区分4类人群:即女孩、成年女子、男孩、成年男子,其中年龄以18岁为界值进行区分。...其中apply接收一个lambda匿名函数,该匿名函数接收一个dataframe为参数(该dataframe中不含pclass列),并提取survived列和age_num列参与计算。

    2.5K10

    独家 | 手把手教你用Python的Prophet库进行时间序列预测

    我们可以通过调用Pandas库中的read_csv()函数,从而直接通过URL加载数据。接下来我们可以对数据集的行数和列数进行统计,并查看一下前几行数据。...Predict()函数的计算结果是一个包含多个列的DataFrame,其中最重要的列或许是被预测的日期时间(“ds”列)、预测值(“yhat”列)以及预测值的上下限(“yhat_lower”列和“yhat_upper...至少从肉眼上来看,我们对下一年(1969年)的预测还是比较合理的。 4. 手动对预测模型进行性能评估 对预测模型的性能进行客观评估至关重要。...我们可以提取出预测值和来自原始数据集中的期望值(真实值),使用scikit-learn库计算它们之间的平均绝对误差度量。...目前在腾讯担任数据科学家,主要负责腾讯视频用户增长&市场营销数据科学方面的工作;此前在京东任数据分析师一年半,负责通过指标体系搭建、统计分析、数据挖掘和机器学习建模来驱动决策、制定并落地亿级用户的精细化运营策略

    11.6K63

    初学者使用Pandas的特征工程

    使用pandas Dataframe,可以轻松添加/删除列,切片,建立索引以及处理空值。 现在,我们已经了解了pandas的基本功能,我们将专注于专门用于特征工程的pandas。 !...估算这些缺失的值超出了我们的讨论范围,我们将只关注使用pandas函数来设计一些新特性。 用于标签编码的replace() pandas中的replace函数动态地将当前值替换为给定值。...在此,每个新的二进制列的值1表示该子类别在原始Outlet_Type列中的存在。 用于分箱的cut() 和qcut() 分箱是一种将连续变量的值组合到n个箱中的技术。...不能保证每个bin中观测值的分布都是相等的。 如果我们要对像年龄这样的连续变量进行分类,那么根据频率对它进行分类将不是一个合适的方法。...但是,如果你强调日期,则会发现你还可以计算一周中的某天,一年中的某个季度,一年中的某周,一年中的某天等等。我们可以通过这一日期时间变量创建的新变量的数量没有限制。

    4.9K31

    软件测试|Pandas数据分析及可视化应用实践

    DataFrame表示的是矩阵的数据表,二维双索引数据结构,包括行索引和列索引。Series是一种一维数组型对象,仅包含一个值序列与一个索引。本文所涉及的数据结构主要是DataFrame。...图片图片注意:若有的时候数据集列数过多,无法展示多列,出现省略号,此时可以使用pandas中的set_option()进行显示设置。...:图片图片④ 将data_ratings中time列格式变成‘年-月-日’首先使用Pandas中的to_datetime函数将date列从object格式转化为datetime格式,然后通过strftime...① 统计评分最多的5部电影首先根据电影名称进行分组,然后使用size函数计算每组样本的个数,最后采用降序的方式输出前5条观测值。...图片图片图片② 一年内电影评分均值的走势情况按照时间分组,然后进行评分均值聚合统计,接着将数据绘制成折线图,便于了解影评分数均值随时间的变化情况,最后将所绘制的图形可通过savefig保存。

    1.5K30

    懂Excel轻松入门Python数据分析包pandas(二十四):连续区域

    > 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。...后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 前言 本系列上一节已经介绍了最简单的 shift 方法应用,这一节将结合其他技巧,解决诸如"某城市一年最大连续没下雨天数...Excel 上是怎么得到结果: - D列 到 G列 是辅助列 - D列:是C列 的下位移列(不理解的看上期文章) - E列:对比 C列 与 D列 是否不一样 - F列:对 E列 的结果数值化,True...为1,False 为0 - G列:累计求和,上图可直接看到 G2 单元格的公式,不多说了 - 注意看 G列 的内容,相当于根据 C列的内容,相同连续值被划分到一个独立的编号 - 接下来只需要条件筛选+...= df.下雨) 相当于 Excel 操作中的 E列 - .cumsum() 相当于 Excel 操作中的 G列 接下来是分组统计,pandas 的分组其实不需要把辅助列加到 DataFrame 上的

    1.3K30

    懂Excel轻松入门Python数据分析包pandas(二十四):连续区域

    后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 前言 本系列上一节已经介绍了最简单的 shift 方法应用,这一节将结合其他技巧,解决诸如"某城市一年最大连续没下雨天数...Excel 上是怎么得到结果: - D列 到 G列 是辅助列 - D列:是C列 的下位移列(不理解的看上期文章) - E列:对比 C列 与 D列 是否不一样 - F列:对 E列 的结果数值化,True...为1,False 为0 - G列:累计求和,上图可直接看到 G2 单元格的公式,不多说了 - 注意看 G列 的内容,相当于根据 C列的内容,相同连续值被划分到一个独立的编号 - 接下来只需要条件筛选+...= df.下雨) 相当于 Excel 操作中的 E列 - .cumsum() 相当于 Excel 操作中的 G列 接下来是分组统计,pandas 的分组其实不需要把辅助列加到 DataFrame 上的...: - 行8:使用 idxmax 得到最大值的行索引值 总结

    1.1K30

    特征工程(四): 类别特征

    比如,一个类别特征能够表达世界上的主要城市,一年四季,或者说一个公司的产品(石油、路程、技术)。在真实世界的数据集中,类别值的数量总是无限的。同时这些值一般可以用数值来表示。...来自雅虎的研究人员 通过特征散列发誓[Weinberger et al。2009年]。 尽管McMahan等人[2013]在谷歌的广告引擎上尝试了功能哈希,并没有找到显着的改进。...单热编码会生成一个稀疏矢量长度为10,000,在列中对应于值的单个1当前数据点。 Bin-counting将所有10,000个二进制列编码为一个功能的真实值介于0和1之间。...“在这里,X是二进制变量”是Alice是当前用户“,而Y是变量”点击广告与否“。 该计算使用所谓的双向列联表(基本上,四个数字对应于X和Y的四种可能组合)。 表5-7. 偶然发生的用户点击事件 ?...数据变化越快,计数需要的次数越多重新计算。 这对于目标应用程序尤其重要广告,用户偏好和热门查询变化非常快,而且缺乏适应当前的分布可能意味着广告的巨大损失平台。

    3.4K20

    RFM会员价值度模型

    由此得到R、F、M三个原始数据量。 ④ R、F、M分区。对于F和M变量来讲,值越大代表购买频率越高、订单金额越高;但对R来讲,值越小代表离截止时间节点越近,因此值越好。...且根据不同群体做定制化或差异性的营销和关怀 规划目标将RFM的3个维度分别做3个区间的离散化 用户群体最大有3×3×3=27个 划分区间过多则不利于用户群体的拆分 区间过少则可能导致每个特征上的用户区分不显著...'].max()获取一年中日期的最大值,这样方便后续针对每年的数据分别做RFM计算,而不是针对4年的数据统一做RFM计算。 ...后面的agg方法实际上是一个“批量”聚合功能的函数,它实现了对date_interval、提交日期、订单金额三列分别以min、count、sum做聚合计算的功能。...F和M的规则是值越大,等级越高 而R的规则是值越小,等级越高,因此labels的规则与F和M相反 在labels指定时需要注意,4个区间的结果是划分为3份  将3列作为字符串组合为新的分组 代码中,先针对

    47010

    带你和Python与R一起玩转数据科学: 探索性数据分析(附代码)

    例如,我们可以得到西班牙(Spain)每年结核病发病量的变化百分比: ? ? 同时从以上结果得到最大值: ? 也可以对英国(United Kingdom)做同样的操作: ?...如果我们要了解索引值(year),我们用argmax 方法(或Pandas新版本中的idmax调用方法)如下: ? ? 也就是说,1998年和1992年分别是西班牙和英国肺结核发病量增长最糟糕的年。...记住一个数据框就是一个向量的列表(也就是说各个列都是一个值的向量),如此我们便可以很容易地用这些函数作用于列上。最终我们将这些函数和lapply或sapply一起使用并作用于数据框的多列数据上。...不管怎样,在R语言中有一家族的函数可以作用于列数据或行数据上以直接得到均值或和值。这样做比用apply函数更有效,并且还允许我们将他们不光用在列数据上,更可用在行数据上。例如,你输入‘?...记住,默认的,apply作用于列数据(在我们的例子里是国家列),而我们希望它作用于每一年。如此这样,我们需要在使用数据框之前颠倒它的行列位置,或传入参数axis=1。 ? ? 但是这样做过分简单了。

    2K31

    esproc vs python 4

    ,并将该列命名为y,m,同时计算该组的销售量 group()函数分组但不汇总,groups分组同时汇总。...df.shift(1)表示将原来的df下一行,即相对于当前行为上一行,给该数组赋值为增长比(当前行减上一行的值除以上一行的值),由于月份不同,所以将上一行与该行相同的月份赋值为nan,最后将该数组赋值给...A4:筛选出1998年的交易记录 A5:按照Client进行分组,同时计算交易量Amount之和 A6:按照Amount进行排序 A9:找到Amount累加到一半交易量的位置 A10:A.find(k)...通过关联字段x 和 y 将P 的记录按照A 对齐。对着排列P计算y的值,计算结果和A中的x的值相等则表示两者对齐。这里是当前产品的出入库记录与B5中的时间序列对齐。...@o表示分组时不重新排序,数据变化时才另分一组。 A4:A.new()根据序表/排列A的长度,生成一个记录数和A相同,且每条记录的字段值为xi,字段名为Fi的新序表/排列。

    1.9K10

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

    Kevin Markham,数据科学讲师,2002 年,毕业于范德堡大学,计算机工程学士,2014 年,创建了 Data School,在线教授 Python 数据科学课程,他的课程主要包括 Pandas...操控缺失值 把字符串分割为多列 把 Series 里的列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合的输出结果 选择行与列 重塑多重索引 Series 创建透视表...rename()方法改列名是最灵活的方式,它的参数是字典,字典的 Key 是原列名,值是新列名,还可以指定轴向(axis)。 ? 这种方式的优点是可以重命名任意数量的列,一列、多列、所有列都可以。...重塑多重索引 Series 泰坦尼克数据集里有一列标注了幸存(Survived)状态,值用 0、1 代表。计算该列的平均值可以计算整体幸存率。 ?...创建样式字符字典,指定每列使用的格式。 ? 把这个字典传递给 DataFrame 的 style.format() 方法。 ? 注意:日期是月-日-年的格式,闭市价有美元符,交易量有千分号。

    7.2K20

    Pandas三百题

    ()) 17-缺失值补全|匹配填充 现在填充 “语言” 列的缺失值,要求根据 “国家/地区” 列的值进行填充 例如 《海上钢琴师》国家/地区为 意大利,根据其他意大利国家对应的语言来看,应填充为 意大利语...) 21 - 聚合统计|自定义函数 在 18 题基础上,在聚合计算时新增一列计算最大值与平均值的差值 def myfunc(x): return x.max()-x.mean() df.groupby...,on=['key1','key2']) 8-金融数据与时间处理 8-1pandas中的时间操作 1-时间生成|当前时间 使用pandas获取当前时间 pd.Timestamp('now') Timestamp...('2021-12-15 11:32:16.625393') 2-时间生成|指定范围 使用pandas按天生成2021年1月1日至2021年9月1日的全部日期 pd.date_range('1/1/2021...注意:虽然我们的df1包含涨跌额列,但是这个操作很常用,所以练习一下 df1.收盘.diff() 16 - 金融计算|涨跌幅 df1 新增一列 涨跌变化率,计算前后两日收盘价之差的变化率 注意:虽然我们的

    4.8K22
    领券