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

python数据分析——数据选择和运算

可以采用arr<=15得到布尔作为索引,小于或者等于15数归零。具体程序代码如下所示: 2....ignore_index-布尔,默认为False。如果True,则不要使用连接轴上索引。生成标记为0…, n-1。 join_axes-这是索引对象列表。...关键技术: mode()函数实现行/数据均值计算。 位数运算 位数是以概率依据数据分割几个等分,常用有中位数(即二位数)、四位数、百位数等。...:仅数字,布尔型,默认True interpolation:内插,可选参数,用于指定要使用方法,当期望位数数据点i~j时。...首先使用quantile()函 数计算35%位数,然后学生成绩与位数比较,筛选小于等于位数学生,程 序代码如下: 五、数值排序与排名 PandasDataframe实例提供了排序功能

12510

数据预处理 10 个小技能,附 Pandas 实现

找出异常值常用两种方法: 标准差法:异常值平均值上下1.96个标准差区间以外 位数法:小于 1/4位数减去 1/4和3/4位数1.5倍,大于3/4减去 1/4和3/4位数1.5倍,都为异常值...使用函数 fillna: # 使用a平均数填充,inplace true表示就地填充 df["a"].fillna(df["a"].mean(), inplace=True) 技能5:修复不合适值...假如某门课最高分100,如果出现 -2, 120 这样,显然不合理,使用布尔类型Series对象修改数值: df.loc[(df['a'] < -2,'a')] = 0 df.loc[(df['...a'] >= 100,'a')] = 100 技能6:过滤重复 过滤某重复,使用 drop_duplicated 方法,第一个参数列名,keep关键字等于last:最后一次出现此行: df.drop_duplicates...,分别找到对应pandas实现。

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

对比Excel,一文掌握Pandas表格条件格式(可视化)

突出显示单元格 在Excel条件格式,突出显示单元格规则提供是大于、小于等于以及重复等内置样式,不过在Pandas这些需要通过函数方法来实现,我们放在后续介绍。...,有两种方法:①这一设置索引(这里不做演示),②采用subset指定 指定颜色灰色 显示全部最大 那么,Excel如何显示最大呢?...这里我们以显示全部最大例展开介绍,逻辑如下: 通过函数MAX获取数据区域最大 然后编辑格式满足单元格等于这个最大即可 操作为:选中数据区域,进行条件格式设置->编辑格式规则 具体规则如下图:...CSS属性,案例我们待高亮部分显示字体颜色-白色,背景色-紫色 金牌数区间[20, 30]、银牌数区间[10, 20]、铜牌数区间[5, 10] 2.5..... thousands用作浮点数、复数和整数千位隔符字符 escape用于特殊格式输出(如html、latex等,这里不做展开,可参考官网) 比如,我们给数据加上单位枚,缺失显示设置小数点位数

5K20

利用Pandas库实现Excel条件格式自动化

突出显示单元格 在Excel条件格式,突出显示单元格规则提供是大于、小于等于以及重复等内置样式,不过在Pandas这些需要通过函数方法来实现,我们放在后续介绍。...,有两种方法:①这一设置索引(这里不做演示),②采用subset指定 指定颜色灰色 显示全部最大 那么,Excel如何显示最大呢?...这里我们以显示全部最大例展开介绍,逻辑如下: 通过函数MAX获取数据区域最大 然后编辑格式满足单元格等于这个最大即可 操作为:选中数据区域,进行条件格式设置->编辑格式规则 具体规则如下图:...CSS属性,案例我们待高亮部分显示字体颜色-白色,背景色-紫色 金牌数区间[20, 30]、银牌数区间[10, 20]、铜牌数区间[5, 10] 2.5..... thousands用作浮点数、复数和整数千位隔符字符 escape用于特殊格式输出(如html、latex等,这里不做展开,可参考官网) 比如,我们给数据加上单位枚,缺失显示设置小数点位数

6K41

在Python里,用股票案例讲描述性统计分析方法(内容来自我书)

通俗地讲,在样本数据里,有一半样本比中位数大,有一半比它小。 把中位数概念扩展一下,即可得到百位数。比如第25百位数则表示,样本数据里,有25%数据小于等于它,而75%数据大于它。...理解概念后,在如下CalAvgMore.py范例,将以股票收盘价例,演示平均数、中位数和四位数求法。...PandasDataFrame对象已经封装了求各种统计数据方法,具体而言,能通过第5mean方法求平均值,在调用时,还可以用诸如df['Close']样式,指定针对哪数据计算。...在如下BoxPlotDemo.py范例还是以股票收盘价例,展示箱状图绘制技巧,从中大家能进一步了解位数概念。...在如下CalAlias.py范例演示这三个获取方式。

1.3K10

30 个小例子帮你快速掌握Pandas

inplace参数设置True以保存更改。我们删除了4,因此列数从14减少到10。 2.读取时选择特定 我们只打算读取csv文件某些。读取时,列表传递给usecols参数。...例如,thresh = 5表示一行必须具有至少5个不可丢失非丢失。缺失小于等于4行将被删除。 DataFrame现在没有任何缺失。...17.设置特定列作为索引 我们可以DataFrame任何设置索引。 df_new.set_index('Geography') ?...考虑上一步(df_new)DataFrame。我们希望小于6客户Balance设置0。...在计算元素时间序列或顺序数组变化百比时很有用。 ? 从第一元素(4)到第二元素(5变化为%25,因此第二个0.25。

10.6K10

6-比较掩码布尔

当您要基于某些条件提取,修改,计数或以其他方式操纵数组时,就会出现屏蔽:例如,您可能希望对大于某个所有进行计数,或者可能删除高于某个所有异常值阈。...3数量,也可以使用np.sum(x<=3) In [33]: np.count_nonzero(x<=3) Out[33]: 5 用sum汇总一个好处是可以根据行或者来汇总 # 根据汇总 In...布尔运算符 我们已经看到了如何计算,例如,降雨少于四英寸所有日子,或降雨大于两英寸所有日子。但是,如果我们想知道降雨小于四英寸且大于一英寸全天,该怎么办?...这是通过Python按位逻辑运算符&,|,^和〜完成。与标准算术运算符一样,NumPy这些重载ufunc,它们在(通常Boolean)数组逐个元素地工作。...从前面返回x数组,假设我们想要一个数组,该数组所有小于5,例如: In [65]: x Out[65]: array([[1, 6, 0], [3, 3, 8], [

1.4K00

pandas技巧4

删除所有包含空行 df.dropna(axis=1) # 删除所有包含空 df.dropna(axis=1,thresh=n) # 删除所有小于n个非空行 df.fillna(value=...,可接受列表参数,即设置多个索引 df.reset_index("col1")# 索引设置col1字段,并将索引新设置0,1,2... df.rename(index=lambda x: x +...axis=1,join='inner') # df2添加到df1尾部,对应行与对应列都不要 df1.join(df2.set_index(col1),on=col1,how='inner...') # 对df1和df2执行SQL形式join,默认按照索引来进行合并,如果df1和df2有共同字段时,会报错,可通过设置lsuffix,rsuffix来进行解决,如果需要按照共同进行合并...() # 返回每一最小 df.median() # 返回每一位数 pd.date_range('1/1/2000', periods=7) df.std() # 返回每一标准差

3.4K20

2022-03-18:arr数组长度n, magic数组长度m 比如 arr = { 3, 1, 4, 5, 7 },如果完全不改变arr, 那么收益

2022-03-18:arr数组长度n, magic数组长度m 比如 arr = { 3, 1, 4, 5, 7 },如果完全不改变arr, 那么收益就是累加和 = 3 + 1 + 4 + 5...+ 7 = 20 magicsi = {a,b,c} 表示arra~b任何一个都能改成c 并且每一种操作,都可以执行任意次,其中 0 <= a <= b < n 那么经过若干次魔法操作,你当然可能得到...arr更大累加和 返回arr尽可能大累加和 n <= 10^7 m <= 10^6 arr和c范围 <= 10^12 答案2022-03-18: 线段树。...st.buildSingleQuery(n) for i := 0; i < n; i++ { ans += getMax(query[i], arr[i]) } return ans } // 方法三特别定制线段树...// 区间上维持最大线段树 // 支持区间值更新 // 本道题定制了一个方法: // 假设全是单点查询,请统一返回所有单点结果(一个结果数组,里面有所有单点记录) type SegmentTree3

71230

图解pandas窗口函数rolling

如果使用int,数值表示计算统计量观测数量即向前几个数据。如果是offset类型,表示时间窗口大小min_periods:每个窗口内最少包含观测数量,如果小于这个窗口,则结果NA。...截取窗各种函数。字符串类型,默认为None。on:可选参数;对于dataframe而言,指定要计算滚动窗口可以是dataframe列名。...2、3、4;均值( 2 + 3 + 4) / 3 = 3以此类推…图片如果是移动之后求和,也是同样道理:图片图片在这里需要注意是:pandas或者numpynp.nan空与其他数值相乘或者相加都是...min_periods必须小于等于windowIn 9:data.rolling(3, min_periods=2).mean() # 基于min_periods 求平均 图片图片因为在第二个元素...所以我们需要手动min_periods设置成: n-1图片具体解释参考下面的图示:第一个元素0:排除第一个和最后一个元素后,均为NaN,均值NaN第二个元素1:排除第一个和最后一个元素后,NaN

2.3K30

数据可视化(3)-Seaborn系列 | 折线图lineplot()

,sex也归一化,现将其划分一下,大于0设置1,小于等于0设置0 df['sex']=df['sex'].apply(lambda x: fun(x)) #展示前5条数据 df[:5]...,sex也归一化,现将其划分一下,大于0设置1,小于等于0设置0 df['sex']=df['sex'].apply(lambda x: fun(x)) """ 案例1:绘制带有误差带单线图...,sex也归一化,现将其划分一下,大于0设置1,小于等于0设置0 df['sex']=df['sex'].apply(lambda x: fun(x)) """ 案例2:绘制带有误差带单线图...,sex也归一化,现将其划分一下,大于0设置1,小于等于0设置0 df['sex']=df['sex'].apply(lambda x: fun(x)) """ 案例3:设置huesex...,sex也归一化,现将其划分一下,大于0设置1,小于等于0设置0 df['sex']=df['sex'].apply(lambda x: fun(x)) """ 案例5:使用标记来标识组

24.6K11

单变量分析 — 简介和实施

例如,如果我们掷骰子12次,得到以下结果: [1, 3, 6, 6, 4, 5, 2, 3, 3, 6, 5, 1] 然后1发生频率是2,因为1在掷骰子中出现了两次。...问题3: 创建一个名为“class_verbose”“class”替换为下表定义。然后确定每个新类别存在多少实例,这应该与问题2结果相匹配。...让我们在下一个问题中手动生成一些以进行练习。 问题5: 返回数据集“alcohol”以下:均值、标准差、最小、第25、50和75百位数以及最大。...箱子显示了数据位数(即第25百位数或Q1、第50百位数或中位数和第75百位数或Q3),而须(whiskers)显示了分布其余部分,除了被确定为离群部分,离群被定义超出Q1或Q3以下...问题9: 创建一个名为“malic_acid_level”“malic_acid”分解以下三个段落: 从最小到第33百位数 从第33百位数到第66百位数 从第66百位数到最大

14610

精品教学案例 | 金融贷款数据清洗

查看数据缺失数量所占总数据量比,从而使结果更加直观,以便进一步处理缺失。 创建一个新DataFrame数据表来存储每数据缺失所占比。...由于数据过多,选取缺失占总数据百比大于0.01%,小于80%列名及其数值显示到图上。...,可以发现缺失比例在(0.01%,80%),除3数据缺失在56%以上,其余数据缺失小于17%,故可以简单认为在此数据集中缺失在56%以上数据提供信息有限,故缺失百比56%以上数据全部删除...:",null_index) 在interpolate函数method参数设置polynomial代表多项式插,进一步order参数设置2,代表使用二次多项式插。...,method参数设置spline,order参数设置3。

4.4K21

Python字段抽取、字段拆分、记录抽取

1、字段抽取 字段抽取是根据已知数据开始和结束位置,抽取出新 字段截取函数:slice(start,stop) 注意:和数据结构访问方式一样,开始位置是大于等于,结束位置是小于。...,拆分已有字符串 字符分割函数:split(sep,n,expand=False) #类似于excel分列功能 参数说明 ① sep   用于分割字符串 ② n       分割多少列(不分割n...=0,分割n=1,以此类推) ③expand 是否展开数据框,默认为False,一般都设置True 返回如果expandTrue,则返回DataFrame ② 如果expandFalse...condition] #类似于excel里过滤功能 参数说明 ① condition 过滤条件 返回 ① DataFrame 常用条件类型 大于(>),小于(=),小于等于(<...(1)比较运算 (2)范围运算 between(left,right) (3)空匹配 pandas.isnull(column) (4)字符匹配 (5)逻辑运算 与(&),或(|),取反(not) import

3.2K80

干货:用Python进行数据清洗,这7种方法你一定要掌握

以指定填补 pandas数据框提供了fillna方法完成对缺失填补,例如对sample表score填补缺失,填补方法均值: >sample.score.fillna(sample.score.mean...盖帽法 盖帽法某连续变量均值上下三倍标准差范围外记录替换为均值上下三倍标准差值,即盖帽处理(图5-10)。 ? ▲图5-10:盖帽法处理噪声示例 Python可自定义函数完成盖帽法。...如下所示,参数x表示一个pd.Series,quantile指盖帽范围区间,默认凡小于之1位数和大于百之99位数将会被百之1位数和百之99位数替代: >def cap(x,quantile...▲图5-11:未处理噪声时变量直方图 对pandas数据框所有进行盖帽法转换,可以以如下写法,从直方图对比可以看出盖帽后极端频数变化。...1.623684 6 1.723711 7 -0.225949 8 -0.213685 9 -0.309789 现分为5箱,可以看到,结果是按照宽度分为5份,下限,cut函数自动选择小于最小一个数值作为下限

10.4K62

Pandas三百题

2 - pandas 个性化显示设置 1.显示全部 pd.set_option('display.max_columns',None) 2.显示指定行/ 指定让 data 在预览时显示10,7行...('display.max_colwidth',10) 5 修改小数点精度 修改默认显示精度小数点后5位 pd.set_option('precision',5) 6 还原所有显示设置 还原上面的全部显示设置...0).fillna(0).max(axis=1) 12-数据增加|新增列(判断) 新增一 金牌大于30 如果一个国家金牌数大于 30 则 是,反之为否 df['金牌大于30'] = df['金牌数...,查询 「类别」 等于 「办公用品」 详情 ​ 10 -数据透视|逆透视 逆透视就是表转换为长表,例如5透视表进行逆透视,其中不需要转换列为『数量』 pd.pivot_table... df1 索引设置日期, df1 数据向后移动一天 df1.set_index(['日期']).shift(1) 25 - 日期重采样|日 -> 周 按周对 df1 进行重采样,保留每周最后一个数据

4.6K22

数据导入与预处理-第5章-数据清理

在这一环节,我们主要通过一定检测与处理方法,良莠不齐“脏”数据清理成质量较高“干净”数据。pandas数据清理提供了一系列方法,本章围绕这些数据清理方法进行详细地讲解。...缺失常见处理方式有三种:删除缺失、填充缺失和插补缺失pandas每种处理方式均提供了相应方法。...–全部重复所在行筛选出来: # 查找重复 # 全部重复所在行筛选出来 df[df.duplicated()] 输出: 查找重复|指定 : # 查找重复|指定 # 上面是所有完全重复情况...Q3表示上四位数,说明全部检测中有四之一比它大;Q1表示下四位数,说明全部检测中有四之一比它小;IQR表示四位数间距,即上四位数Q3与下四位数Q1之差,其中包含了一半检测;空心圆点表示异常值...第二组数位数Q3;当数据总数量奇数时,中位数会将数据集划分为个数相等(每组有 (n-1)/2 个)两组数,其中第一组数Q1,第二组数Q3。

4.4K20

Pandas速查手册中文版

(1)官网: Python Data Analysis Library (2)十钟入门Pandas: 10 Minutes to pandas 在第一次学习Pandas过程,你会发现你需要记忆很多函数和方法...1):删除所有包含空 df.dropna(axis=1,thresh=n):删除所有小于n个非空行 df.fillna(x):用x替换DataFrame对象中所有的空 s.astype(float...):Series数据类型更改为float类型 s.replace(1,'one'):用‘one’代替所有等于1 s.replace([1,3],['one','three']):用'one'代替...每一行应用函数np.max 数据合并 df1.append(df2):df2行添加到df1尾部 df.concat([df1, df2],axis=1):df2添加到df1尾部 df1...df.corr():返回之间相关系数 df.count():返回每一非空个数 df.max():返回每一最大 df.min():返回每一最小 df.median():返回每一位数

12.1K92
领券