excelperfect Q:我有一个工作表,在单元格B1中输入有数值,我想根据这个数值动态隐藏行2至行100。...具体地说,就是在工作表中放置一个命令按钮,如果单元格B1中的数值是10时,当我单击这个命令按钮时,会显示前10行,即第2行至第11行;再次单击该按钮后,隐藏全部的行,即第2行至第100行;再单击该按钮,...则又会显示第2行至第11行,又单击该按钮,隐藏第2行至第100行……也就是说,通过单击该按钮,重复显示第2行至第11行与隐藏第2行至第100行的操作。...图1 如何实现? 注:这是在chandoo.org的论坛上看到的一个贴子,有点意思。...A:使用的VBA代码如下: Public b As Boolean Sub HideUnhide() If b =False Then Rows("2:100").Hidden
Where where函数用于指定条件的数据替换。如果不指定条件,则默认替换值为 NaN。 df['new_col'].where(df['new_col'] > 0, 0) ?...where函数首先根据指定条件定位目标数据,然后替换为指定的新数据。...我们也可以使用melt函数的var_name和value_name参数来指定新的列名。 11. Explode 假设数据集在一个观测(行)中包含一个要素的多个条目,但您希望在单独的行中分析它们。...如果axis参数设置为1,nunique将返回每行中唯一值的数目。 13. Lookup 'lookup'可以用于根据行、列的标签在dataframe中查找指定值。假设我们有以下数据: ?...Merge Merge()根据共同列中的值组合dataframe。考虑以下两个数据: ? 我们可以基于列中的共同值合并它们。设置合并条件的参数是“on”参数。 ?
问题 如果你在编程的时候发现自己一遍又一遍的搜索同一个问题、概念或者语法,那么你并不孤单。 我自己也经常这样。...Lambda 函数的基本语法如下: lambda arguments: expression 普通函数能做的,Lambda 函数也都能做,只要它们能够写成一行。...Arange 函数,根据 start 和 stop 指定的范围以及 step 设定的步长,生成指定间隔的均匀间隔序列。...Join 函数合并两个 dataframe 的方法与 merge 函数类似。但是,它根据索引合并 dataframe,而不是某些指定列。 ?...如果你不熟悉 Series,其实它在很多方面都与 NumPy 数组非常相似。 Apply 函数会对你指定的列或行中每个元素作用一个函数。
Linspace是在指定的范围内返回指定个数的间隔均匀的数字。所以给定一个起始值和终止值,并指定返回值的个数,linspace将根据你指定的个数在NumPy数组中划好等分。...如果你想想在Python中是如何建立索引的,即行为0,列为1,会发现这与我们定义坐标轴值的方式非常相似。很有趣吧! ?...但是,它根据它们的索引进行组合,而不是某些特定的主键。 ? 大家可以查看很有帮助的Pandas文档,了解语法和具体示例和你可能会遇到的特殊情况。...如果你不熟悉也没关系,Series在很大程度上与NumPy中的阵列(array)非常相似。 Apply会根据你指定的内容向列或行中的每个元素发送一个函数。...我希望我介绍的这些在使用Python做数据科学时经常遇到的重要但又有点棘手的方法、函数和概念能给你带来帮助。 而我自己在整理这些内容并试图用简单的术语来阐述它们的过程中也受益良多。
Pandas 给 NumPy 数组带来的两个关键特性是: 异质类型 —— 每一列都允许有自己的类型 索引 —— 提高指定列的查询速度 事实证明,这些功能足以使Pandas成为Excel和数据库的强大竞争者...对于非数字标签来说,这有点显而易见:为什么(以及如何)Pandas在删除一行后,会重新标记所有后续的行?对于数字标签,答案就有点复杂了。...(因为它们根据Series的大小自动选择实际的命令),而且更容易使用。...大多数Pandas函数都会忽略缺失的值: 更高级的函数(median, rank, quantile等)也是如此。 算术操作是根据索引来调整的: 在索引中存在非唯一值的情况下,其结果是不一致的。...如果这些还不够,也可以通过自己的Python函数传递数据。它可以是 用g.apply(f)接受一个组x(一个系列对象)并生成一个单一的值(如sum())的函数f。
Pandas和NumPy是我们进行数据处理时常用的工具,它们提供了许多方便的函数和方法。 ...3.数据整理之处理缺失值 ```python df=df.dropna()#删除包含缺失值的行 df=df.fillna(0)#将缺失值替换为指定值 ``` 数据中常常会存在缺失值,对于这些缺失值...一种是删除包含缺失值的行,另一种是用指定值(如0)进行替换。 ...python df['列名']=pd.to_datetime(df['列名'],format='%Y-%m-%d') df['列名']=df['列名'].astype(int) ``` 当数据中的某些列需要转换为其他格式时...,我们可以使用to_datetime()函数将列转换为日期格式,并使用astype()函数将列转换为指定的数据类型。
类就是我们希望为某目的所建立的模型。如果我们希望搭建一个棚子,那么搭建规划就是一个类。 对象是类的一个实例。在这个例子中,根据规划所搭建出来的一个棚子就是一个对象。...同一个类可以有很多对象,就像可以根据规划搭建出很多个棚子一样。 方法是我们可以在对象上使用的工具,或在对象上实现的函数:传递给它某些输入,它返回一个输出。...「:」表示希望提取所有行的数据,0 表示希望提取第一列) 这就是将第一列中的属性变量替换为数值所需的全部工作了。例如,麋鹿将用 0 表示,狗将用 2 表示,猫将用 3 表示。...这也是为何指定 test_size 为 0.2 的原因。你也可以根据自己的需求来任意划分。你并不需要设置 random_state,这里设置的原因是为了可以完全复现结果。 特征缩放 什么是特征缩放?...毫无疑问,在数据预处理这一步中,你可以加入很多自己的想法:你可能会想如何填充缺失值。思考是否缩放特征以及如何缩放特征?是否引入哑变量?是否要对数据做编码?是否编码哑变量……有非常多需要考虑的细节。
2.读取时选择特定的列 我们只打算读取csv文件中的某些列。读取时,列列表将传递给usecols参数。如果您事先知道列名,则比以后删除更好。...8.删除缺失值 处理缺失值的另一种方法是删除它们。“已退出”列中仍缺少值。以下代码将删除缺少任何值的行。...第一个参数是位置的索引,第二个参数是列的名称,第三个参数是值。 19.where函数 它用于根据条件替换行或列中的值。默认替换值是NaN,但我们也可以指定要替换的值。...符合指定条件的值将保持不变,而其他值将替换为指定值。 20.排名函数 它为这些值分配一个等级。让我们创建一个根据客户余额对客户进行排名的列。...method参数指定如何处理具有相同值的行。first表示根据它们在数组(即列)中的顺序对其进行排名。 21.列中唯一值的数量 使用分类变量时,它很方便。我们可能需要检查唯一类别的数量。
类就是我们希望为某目的所建立的模型。如果我们希望搭建一个棚子,那么搭建规划就是一个类。 对象是类的一个实例。在这个例子中,根据规划所搭建出来的一个棚子就是一个对象。...同一个类可以有很多对象,就像可以根据规划搭建出很多个棚子一样。 方法是我们可以在对象上使用的工具,或在对象上实现的函数:传递给它某些输入,它返回一个输出。...「:」表示希望提取所有行的数据,0 表示希望提取第一列) 这就是将第一列中的属性变量替换为数值所需的全部工作了。例如,麋鹿将用 0 表示,狗将用 2 表示,猫将用 3 表示。...这也是为何指定 test_size 为 0.2 的原因。你也可以根据自己的需求来任意划分。你并不需要设置 random_state,这里设置的原因是为了可以完全复现结果。 特征缩放 什么是特征缩放?...Roven 发布于 Unsplash 通过少量的几行代码,你已经领略了数据清洗和预处理的基础。毫无疑问,在数据预处理这一步中,你可以加入很多自己的想法:你可能会想如何填充缺失值。
任何时候,你都很可能最终还是使用到它们。这三个在使用Python时最流行的库就是Numpy、Matplotlib和Pandas。...同一个类可以有很多对象,就像可以根据规划搭建出很多个棚子一样。 方法是我们可以在对象上使用的工具,或在对象上实现的函数:传递给它某些输入,它返回一个输出。...「:」表示希望提取所有行的数据,0表示希望提取第一列) 这就是将第一列中的属性变量替换为数值所需的全部工作了。例如,麋鹿将用0表示,狗将用2表示,猫将用3表示。 你发现什么潜在问题了吗?...这也是为何指定test_size为0.2的原因。你也可以根据自己的需求来任意划分。你并不需要设置random_state,这里设置的原因是为了可以完全复现结果。 特征缩放 什么是特征缩放?...毫无疑问,在数据预处理这一步中,你可以加入很多自己的想法:你可能会想如何填充缺失值。思考是否缩放特征以及如何缩放特征?是否引入哑变量?是否要对数据做编码?是否编码哑变量……有非常多需要考虑的细节。
总结来说,Series和DataFrame各有优势,在选择使用哪种数据结构时应根据具体的数据操作需求来决定。如果任务集中在单一列的高效操作上,Series会是更好的选择。...如何在Pandas中实现高效的数据清洗和预处理? 在Pandas中实现高效的数据清洗和预处理,可以通过以下步骤和方法来完成: 处理空值: 使用dropna()函数删除含有缺失值的行或列。...例如,可以根据特定条件筛选出满足某些条件的数据段,并对这些数据段应用自定义函数进行处理。...Pandas的groupby方法可以高效地完成这一任务。 在Pandas中,如何使用聚合函数进行复杂数据分析? 在Pandas中,使用聚合函数进行复杂数据分析是一种常见且有效的方法。...相比之下,NumPy主要关注数值计算和科学计算问题,其自身有较多的高级特性,如指定数组存储的行优先或者列优先、广播功能以及ufunc类型的函数,从而快速对不同形状的矩阵进行计算。
加速Python循环 Numba最基本的用途是加速那些可怕的Python for循环。 首先,如果在Python代码中使用循环,首先检查是否可以用numpy函数替换它总是一个好主意。...当然,在某些情况下numpy没有您想要的功能。 在我们的第一个例子中,我们将用Python为插入排序算法编写一个函数。该函数将接受一个未排序的列表作为输入,并返回排序后的列表作为输出。...加速Numpy操作 Numba的另一个亮点是加快了对Numpy的操作。这次,我们将把3个相当大的数组加在一起,大约是一个典型图像的大小,然后使用numpy.square()函数对它们进行平方。...查看下面的代码,看看在带有Numpy的Python中如何工作。 ? 注意,每当我们对Numpy数组进行基本数组计算(如加法、相乘和平方)时,代码都会自动由Numpy在内部向量化。...第一个指定要操作的numpy数组的输入类型。这必须指定,因为Numba使用它将代码转换为最优版本。通过事先了解输入类型,Numba将能够准确地计算出如何最有效地存储和操作数组。
替换一个指定的非数值型值 我们也可以替换指定位置的值,下面例子是行索引为3。 data.loc[3, 'District'] = 32 # data ?...使用中位数替换缺失值 我们可以使用非数值型值所在列的中位数进行替换,下列中的中位是为3.5。...删除缺值项 如果你只是想简单地排除缺值项,可以用dropna函数配合axis参数进行。缺省情况下,axis=0表示沿横轴(行)删除含有有非数值型字段的任何行。...如果数列中超过90%的数据是“非数”,我们将其删除 这是我最近学到的一个有趣的功能。参数 thresh = N要求数列中至少含有N个非数才能得以保存。...,它包含一些我们不希望包含在模型中的字符串,我们可以使用下面的函数来删除每个字符串的某些字符。
前言 如果您曾经发现自己在编程时一次又一次地查找相同的问题、概念或语法,那么您并不孤单。我发现自己经常这样做。我们生活在一个世界里,似乎有无限数量的可访问的。然而,这既是福也是祸。...for循环进行列表理解,以及如何使用一行简单的代码创建列表,而不需要使用循环。...Linspace返回在指定间隔内均匀间隔的数字。因此,给定一个起始点和停止点,以及一些值,linspace将在NumPy数组中为您均匀地分隔它们。这对于绘图时的数据可视化和轴声明特别有用。...根据上面的推导,如果要处理列,可以将轴设置为1,如果要处理行,可以将轴设置为0。但这是为什么呢?...如果您考虑一下如何在Python中对其进行索引,行是0,列是1,这与我们声明axis值的方式非常相似。疯狂的,对吗?
领取专属 10元无门槛券
手把手带您无忧上云