先来添加列 data = [‘a’,’b’,’c’] df[‘字母’] = data import pandas as pd filename = '....pd.read_csv(filename,encoding='gbk') data = ['a','b','c'] df['字母'] = data df.to_csv(filename,index=None) 由于我们的列标签是中文...再来添加行 df.loc[4]=[4,’d’] import pandas as pd filename = '.
与业务或运维沟通后,明确测试订单的标识是在“产品名称”列中带“测试”的字样。...而min 和 max则形成合理值区间,在此区间之外的数据,不论太高还是太低还是离群值。注意,在这里因为存在min_是负数的情况,而消费数据不可能是负数,所以补充了一个把转为0的操作。...,此时就需要计算各指标阈值,用于RFM建模。...= consume_df['休眠天数'].quantile(0.2)RFM模型计算得到RFM阈值后,即可将顾客的RFM特征进行计算,超过阈值的则为1,低于阈值的则为0,其中R值计算逻辑相反,因为R值是休眠天数...而前面各族群人数统计中,需要一行一列来定位信息的就是二维表。结尾至此,我们已经通过Pandas建立了RFM模型及分组人群画像分析,完成了业务分析需求。
还有abs、exp、sin、cos、log、sum、mean(算术平均数)、cumsum(所有元素的累计和)、cumprod(所有元素的累计积)、sort(将元素进行排序)等函数。...(3)获取DataFrame的值(行或列) 通过查找columns值获取对应的列。(下面两种方法) 通过索引字段ix查找相应的行。 (4)对列进行赋值处理。 对某一列可以赋一个标量值也可以是一组值。...Pandas基本功能 1、重新索引 Pandas对象的一个方法就是重新索引(reindex),其作用是创建一个新的索引,pandas对象将按这个新索引进行排序。对于不存在的索引值,引入缺失值。...(列从0开始计数) 6、汇总和计算描述统计 就是针对数组进行常用的数学和统计运算。大部分都属于约简和汇总统计。 其中有求和(sum)运算、累计(cumsum)运算、平均值(mean)等运算。...9、层次化索引 层次化索引是pandas的一个重要功能,它的作用是使你在一个轴上拥有两个或多个索引级别。相当于Excel中vlookup函数的多条件查找中的多条件。
其中,全球累计确诊近296万例,累计死亡超20万例;美国累计确诊超100万例,西班牙和意大利累计确诊均超过20万例。...01 全球疫情严峻 美国确诊超100万 根据世卫组织最新实时统计数据,截至欧洲中部时间28日10时(北京时间28日16时),全球范围内,新冠确诊病例较前一日增加76026例,达到2954222例;死亡病例较前一日增加...3932例,达到202597例。...美国约翰斯·霍普金斯大学统计数据显示,在美国东部时间28日14时50分(北京时间29日2时50分)的数据显示,美国新冠确诊病例升至1002498例,死亡病例为57533例,确诊病例和死亡病例数都是全球最多...通过日新增确诊人数计算每日累计确诊人数 对日期列进行摊平,按照国家和日期进行数据透视操作。
2.分组聚合 按照需求,需要计算每个城市每个子类别下产品的销售总量,因此需要按照city和sub_cate分组,并对amt求和。为计算占比,求得的和还需要和原始数据合在一块作为新的一列。...计算的结果作为新的一列amt_sum添加到原数据上。...注意同样是在每组内进行,需要用cumsum函数求累计和。...可以看到最后一列cum_pct已经按照pct列计算了累计百分比。其中累计到第二行的时候已经达到了61.1%,超过了50%,因此最终只需取前两行即可。...5.目标筛选 经过了前面的数据准备,在这一步需要在每组内,筛选累计值达到50%的行,且最多三行。
,达到降维的目的,下面我们先对PCA算法的思想和原理进行推导: 主成分即为我们通过原始变量的线性组合得到的新变量,这里假设xi(i=1,2,......,xp)',求主成分就是寻找x的线性函数a'x,使得相应的方差达到最大,即var(a'x)=a'∑a,且a'a=1(使a唯一),∑为x的协方差矩阵; 推导: 基于实对称矩阵的性质(每个实对称矩阵都可以分解为单位实特征向量和实特征值...包搭建自定义的PCA算法(除标准化和求解特征值、特征向量外其余功能均由自定义函数实现) import numpy as np import pandas as pd from sklearn import...original_data.iloc[:,4:]) class My_PCA(): def __init__(self): print('自编PCA算法') '''根据输入的数据集和指定的累计贡献率阈值...(eigvalue))] '''保存特征值排序后与之前对应的位置''' sort = np.argsort(contribute) '''根据传入的累计贡献率阈值
图2:卡方累计分布函数 二、什么是卡方检验 χ2检验是以χ2分布为基础的一种假设检验方法,主要用于分类变量之间的独立性检验。...第1行1列:43×53/87=26.2 第1行2列:43×34/87=16.8 第2行1列:44×53/87=26.8 第2行2列:4×34/87=17.2 先建立原假设:A、B...它主要包括两个阶段:初始化阶段和自底向上的合并阶段。 1、初始化阶段: 首先按照属性值的大小进行排序(对于非连续特征,需要先做数值转换,比如转为坏人率,然后排序),然后每个属性值单独作为一组。...(3)不断重复(1),(2)直到计算出的卡方值都不低于事先设定的阈值,或者分组数达到一定的条件(如最小分组数5,最大分组数8)。...break return cutoffs 4.生成分组后的新变量 def value2group(x,cutoffs): ''' 将变量的值转换成相应的组。
但是,首先需要数据才能开始工资,这里我们主要靠pandas库,因为NumPy库比较常用,所以还是把该库导入。 (PS:除NumPy和SciPy,pandas也是Python的重要库之一) ? ?...所以先在pandas DataFrame对象上添加一个新列,用于两个趋势之间的差值。 此处的趋势策略是基于两个月(42个交易日)和一年(252个交易日)的趋势(也就是两种期间指数水平的移动平均数)。...Pandas数值运算通常以向量方式进行,这样可以取两列的全部差值: ? 在最后一个可用交易日上,42日趋势线远远高于252趋势线。...尽管两个趋势列中的项目数量不相等,pandas通过在相应的指数位置放入NaN处理这种情况: ? 现在生成我们的投资机制,此处假定信号阈值为50: ?...所以比较指数累计持续收益和我们所用策略的累积持续收益即可: ?
., Zk 满足标准正态分布 N(0,1) , 则这k个随机变量的平方和: ? 为服从自由度为k的卡方分布,记作: ? 或者记作 ? 。 图1:卡方概率密度函数 ?...图2:卡方累计分布函数 ? 二、什么是卡方检验 χ2检验是以χ2分布为基础的一种假设检验方法,主要用于分类变量之间的独立性检验。...第1行1列: 43×53/87=26.2 第1行2列: 43×34/87=16.8 第2行1列: 44×53/87=26.8 第2行2列: 4×34/87=17.2 先建立原假设...(3)不断重复(1),(2)直到计算出的卡方值都不低于事先设定的阈值,或者分组数达到一定的条件(如最小分组数5,最大分组数8)。...break return cutoffs 4.生成分组后的新变量 def value2group(x,cutoffs): ''' 将变量的值转换成相应的组。
------ 1、有一个excel如下,写一个python程序,计算每个年月的后面6个月的销售额的累计值,保存在新excel中,包含年月、销售额、后面6个月的销售额的累计值 2、 好的,可以使用 Pandas...库来读取和处理 Excel 文件。...最后,我们使用 Pandas 库的 `to_excel` 函数将结果保存到新的 Excel 文件中。...好的,可以使用 Pandas 库来读取和处理 Excel 文件。...接下来,使用移动平均方法预测每个年月的未来6个月销售额累计值,并将结果保存到名为"未来6个月预测销售额累计值方法1"的新列中。最后,将结果保存到新的Excel文件中。
每天国家卫健委和各大新闻媒体都会公布疫情的数据,包括累计确诊人数、现有确诊人数等。 本案例为COVID-19疫情的数据科学实践系列的第二篇——Pandas疫情探索性分析。...本篇案例的主要内容是新冠肺炎疫情数据的探索性分析,包括中国各省和世界各国的实时数据,及中国和世界各国的历史数据。...此外,我们还将新增病死率一列,并将国家设置为索引。数据预处理之后我们将查看世界当前累计确诊人数前十名的国家,并绘制累计确诊、累计死亡和病死率的水平条形图来分析各国疫情状况。...由图可知,我国累计确诊人数在2月中旬已达到拐点,现存确诊人数也已从2月15日起逐步减少。同时,累计治愈人数稳步上升,且随现存确诊人数的下降而逐渐趋于平缓状态。...这里我们单独选取了日本新冠肺炎的累计确诊和当日新增确诊两列数据进行绘制: japan = alltime_world[alltime_world['名称']=='日本'] fig, ax = plt.subplots
---- 5 描述性统计概述与计算 5.1 描述性统计和汇总统计 pandas对象有一个常用数学、统计学方法的集合,大部分属于规约和汇总统计,并且还有处理缺失值的功能。...print('列上累计和:\n', frame.cumsum()) print('获取描述性信息:\n', frame.describe()) #获取描述性信息 one two a 2.0...行上求均值: a NaN b 2.00 c NaN d -0.75 dtype: float64 最大值的索引: one b two d dtype: object 列上累计和...值的样本标准差 skew, kurt 样本偏度(第三时刻)、样本峰度(第四时刻)的值 cumsum 累计值 cummin, cummax 累计值的最小值和最大值 cumprod 值的累计积 pct_change...例如,frame['one'].corr(frame['two'])表示frame的'one'和'two'两列的相关性;frame['one'].cov(frame['two'])表示frame两列的协方差
数据透视表将每一列数据作为输入,输出将数据不断细分成多个维度累计信息的二维数据表。...由于二维的 GroupBy 应用场景非常普遍,因此 Pandas 提供了一个快捷方式 pivot_table 来快速解决多维的累计分析任务。...行索引和列索引都可以再设置为多层,不过行索引和列索引在本质上是一样的,大家需要根据实际情况合理布局。...还可以通过字典为不同的列指定不同的累计函数。 如果传入参数为list,则每个聚合函数对每个列都进行一次聚合。...pandas.crosstab 参数 index:指定了要分组的列,最终作为行。 columns:指定了要分组的列,最终作为列。
以及对单列进行简单的运算和变换,具体应用场景可参考pd.DataFrame中赋值新列的用法,例如下述例子中首先通过"*"关键字提取现有的所有列,而后通过df.age+1构造了名字为(age+1)的新列。...,当接收列名时则仅当相应列为空时才删除;当接收阈值参数时,则根据各行空值个数是否达到指定阈值进行删除与否 dropDuplicates/drop_duplicates:删除重复行 二者为同名函数,与pandas...:withColumn是在现有DataFrame基础上增加或修改一列,并返回新的DataFrame(包括原有其他列),适用于仅创建或修改单列;而select准确的讲是筛选新列,仅仅是在筛选过程中可以通过添加运算或表达式实现创建多个新列...,返回一个筛选新列的DataFrame,而且是筛选多少列就返回多少列,适用于同时创建多列的情况(官方文档建议出于性能考虑和防止内存溢出,在创建多列时首选select) show:将DataFrame显示打印...,无需全部记忆,仅在需要时查找使用即可。
前言 Excel 中的 vlookup 函数有一个模糊查找选项,其内在原理为二分法查找,在 pandas 中同样有一样功能的方法。...,是一种模糊匹配,比如 30 不是直接匹配 30 对应的记录,而是匹配到高于30最近的点(批次表的第一个点50) ---- Excel解决方法 首先要知道每个人取货之前已经累计被拿了多少数量: 通过简单的固定地址...这里有个前提是,右表的数值列必须为升序,否则结果可能出乎意料 ---- pandas解决方法 pandas 中的做法基本上每一句代码就对应 Excel 中的一个操作: 行1、2:加载数据,不多说...这其实是很关键一步,上面 Excel 操作中省去了这2个操作 行7、8:对应 Excel 中的求出"累计列"的操作 行10:pd.cut 相当于模糊查找的 vlookup 。...这个问题留待下次探讨,大家不妨从 Excel 的操作角度想一下,可能一下子就能知道 pandas 中是如何解决 ---- 总结 本文重点: pd.cut 类比 Excel vlookup 模糊查找
介绍这些函数之前,第一步先要导入pandas和numpy。 import numpy as np import pandas as pd 1....Insert Insert用于在DataFrame的指定位置中插入新的数据列。默认情况下新列是添加到末尾的,但可以更改位置参数,将新列添加到任何位置。...Ture表示允许新的列名与已存在的列名重复 接着用前面的df: 在第三列的位置插入新列: #新列的值 new_col = np.random.randn(10) #在第三列位置插入新列,从0开始计算...我们只知道当年度的值value_1、value_2,现在求group分组下的累计值,比如A、2014之前的累计值,可以用cumsum函数来实现。...用法: DataFrame.loc[] 或者 DataFrame.iloc[] loc:按标签(column和index)选择行和列 iloc:按索引位置选择行和列 选择df第1~3行、第1~2列的数据
groupby是Pandas在数据分析中最常用的函数之一。它用于根据给定列中的不同值对数据点(即行)进行分组,分组后的数据可以计算生成组的聚合值。...sales_sorted.groupby("store").nth(-2) 14、唯一值 unique函数可用于查找每组中唯一的值。...如果用于分组的列中缺少一个值,那么它将不包含在任何组中,也不会单独显示。所以可以使用dropna参数来改变这个行为。 让我们首先添加一个缺少存储值的新行。...们可以计算出每组的累计总和。...包含值列的累计总和,如下所示: df["cum_sum"] = df.groupby("category")["value"].cumsum() 23、expanding函数 expanding函数提供展开转换
大家好,我是俊欣~ groupby是Pandas在数据分析中最常用的函数之一。它用于根据给定列中的不同值对数据点(即行)进行分组,分组后的数据可以计算生成组的聚合值。...sales_sorted.groupby("store").nth(-2) output 14、唯一值 unique函数可用于查找每组中唯一的值。...如果用于分组的列中缺少一个值,那么它将不包含在任何组中,也不会单独显示。所以可以使用dropna参数来改变这个行为。 让我们首先添加一个缺少存储值的新行。...我们可以计算出每组的累计总和。...包含值列的累计总和,如下所示: df["cum_sum"] = df.groupby("category")["value"].cumsum() output 23、expanding函数 expanding
后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 前言 Excel 中的 vlookup 函数有一个模糊查找选项,其内在原理为二分法查找,在 pandas 中同样有一样功能的方法...,是一种模糊匹配,比如 30 不是直接匹配 30 对应的记录,而是匹配到高于30最近的点(批次表的第一个点50) ---- Excel解决方法 首先要知道每个人取货之前已经累计被拿了多少数量: 通过简单的固定地址...这里有个前提是,右表的数值列必须为升序,否则结果可能出乎意料 ---- pandas解决方法 pandas 中的做法基本上每一句代码就对应 Excel 中的一个操作: 行1、2:加载数据,不多说...这其实是很关键一步,上面 Excel 操作中省去了这2个操作 行7、8:对应 Excel 中的求出"累计列"的操作 行10:pd.cut 相当于模糊查找的 vlookup 。...这个问题留待下次探讨,大家不妨从 Excel 的操作角度想一下,可能一下子就能知道 pandas 中是如何解决 ---- 总结 本文重点: pd.cut 类比 Excel vlookup 模糊查找
领取专属 10元无门槛券
手把手带您无忧上云