下面的代码收集自vbaexpress.com,可以将源文件夹中的最新文件复制到另一个文件夹。...代码运行后,弹出一个对话框告诉用户选择源文件夹,选好后,单击“确定”,会弹出另一个对话框告诉用户选择目标文件夹,单击“确定”,源文件夹中的最新文件将被复制到目标文件夹中。...As Object Dim FileCounter As Long Const FinalFileName As String = "LastFile" '将这个名字修改为你实际的名字
pandas 入门概念 series 和 dataframe 这是pandas 中最为基本的两个概念,series 类似于一维数组,可以近似当成普通的数组进行操作,对于series 默认会有行索引为它索引...取值,根据需要 money_series.iloc[[3, 0]] # 取第四个值和第一个值 """ d 5 a 200 Name: money, dtype: int64 """ 上面是根据序号进行取值...如果参与运算的一个是DataFrame,另一个是Series,那么pandas会对Series进行行方向的广播,然后做相应的运算。 4)....如果是列方向的运算,一个是dataFrame,另一个是Series,首先将Series沿列方向广播,然后运算。...2. add() 和 append() 方法 add 类似+ 运算,将两个series 相加得到结果,append 则是将一个series 连接在前一个series的后面,类似列表的相加。
虽然Pandas中提供了很多向量化操作,可以很大程度上避免暴力循环结构带来的效率低下,但也不得不承认仍有很多情况还是循环来的简洁实在。...因此,为了在Pandas中更好的使用循环语句,本文重点介绍以下三个函数: iteritems iterrows itertuples 当然,这三个函数都是面向DataFrame这种数据结构的API,...key即为行索引,相应的value则为对应取值。...我个人总结为如下几个方面: 方便的以(columnName, Series)元组对的形式逐一遍历各行进行相应操作 以迭代器的形式返回,在DataFrame数据量较大时内存占用更为高效 另外,items是...itertuples中的name参数加以修改;另外,注意到在每个namedtuple都包含了4个元素,除了A、B、C三个列取值外,还以index的形式返回了行索引信息,这可以通过itertuples中的
例如,如何确定一个数据库中的“custom_id”与另一个数据库中的“custome_number”是否表示同一实体。 实体识别中的单位不统一也会带来问题。...例如,重量属性在一个系统中采用公制,而在另一个系统中却采用英制;价格属性在不同地点采用不同的货币单位。这些语义的差异为数据集成带来许多问题。...如果一个属性能由另一个或另一组属性值“推导”出,则这个属性可能是冗余的。属性命名不一致也会导致结果数据集中的冗余,属性命名会导致同一属性多次出现。...2 基于Pandas实现数据集成 pandas中内置了许多能轻松地合并数据的函数与方法,通过这些函数与方法可以将Series类对象或DataFrame类对象进行符合各种逻辑关系的合并操作,合并后生成一个整合的...常用的合并数据的函数包括: 2.1 主键合并数据merge 主键合并数据类似于关系型数据库的连接操作,主要通过指定一个或多个键将两组数据进行连接,通常以两组数据中重复的列索引为合并键。
我们需要使用两个Python库:os和pandas。(你可以到知识星球完美Excel社群下载示例工作簿。这里使用了3个示例工作簿来演示,当然你可以根据需要合并任意多个Excel工作簿文件。)...我们使用这个库将Excel数据加载到Python中,操作数据,并重新创建主电子表格。 我们将从导入这两个库开始,然后查找指定目录中的所有文件名。...注意,默认情况下,此方法仅读取Excel文件的第一个工作表。 append()将数据从一个文件追加/合并到另一个文件。考虑从一个Excel文件复制一块数据并粘贴到另一个Excel文件中。...图2 上述代码执行以下操作: 1.循环遍历当前工作目录中的所有文件,通过检查以“.xlsx”结尾的文件名来确定文件是否为Excel文件。...2.循环遍历Excel文件。 3.对于每个文件,循环遍历所有工作表。 4.将每个工作表读入一个数据框架,然后将所有数据框架组合在一起。
在本文中,我将分享4个在一行代码中完成的Pandas操作。这些操作可以有效地解决特定的任务,并以一种好的方式给出结果。 从列表中创建字典 我有一份商品清单,我想看看它们的分布情况。...由于json_normalize函数,我们可以通过一个操作从json格式的对象创建Pandas DataFrame。 假设数据存储在一个名为data的JSON文件中。...combine_first函数 combine_first函数用于合并两个具有相同索引的数据结构。 它最主要的用途是用一个对象的非缺失值填充另一个对象的缺失值。这个函数通常在处理缺失数据时很有用。...如果有一个缺失的值,它从列B中获取它。如果列B中对应的行也是NaN,那么它从列C中获取值。...Merged DataFrame: A B a 1.0 5.0 b 2.0 60.0 c 30.0 7.0 d 4.0 8.0 总结 从计算简单的统计数据到高度复杂的数据清理过程
,实现从一种形式到另一种“适当”形式的变换,以适用于分析或挖掘的需求,这一过程就是数据变换。...数据离散化处理一般是在数据的取值范围内设定若干个离散的划分点,将取值范围划分为若干离散化的区间,分别用不同的符号或整数值代表落在每个子区间的数值。...等宽法 等宽法将属性的值域从最小值到最大值划分成具有相同宽度的区间,具体划分多少个区间由数据本身的特点决定,或者由具有业务经验的用户指定 等频法 等频法将相同数量的值划分到每个区间,保证每个区间的数量基本一致...基于列值重塑数据(生成一个“透视”表)。使用来自指定索引/列的唯一值来形成结果DataFrame的轴。此函数不支持数据聚合,多个值将导致列中的MultiIndex。...假设变量“职业”有司机、学生、导游、工人、教师共5个类别,这5个类别分别有0和1两种取值,0代表非此种类别,1代表此种类别。
一个Series可以有一个索引标签列表。 ? Series由整数值索引,并且起始位置是0。 ? SAS示例使用一个DO循环做为索引下标插入数组。 ? 返回Series中的前3个元素。 ?...该示例有2个操作。s2.mean()方法计算平均值,随后一个布尔测试小于计算出的平均值。 ? Series和其它有属性的对象,它们使用点(.)操作符。.name是Series对象很多属性中的一个。...另一个.CSV文件在这里,将值映射到描述性标签。 读.csv文件 在下面的示例中使用默认值。pandas为许多读者提供控制缺失值、日期解析、跳行、数据类型映射等参数。...另外,如果你发现自己想使用迭代处理来解决一个pandas操作(或Python),停下来,花一点时间做研究。可能方法或函数已经存在! 案例如下所示。...PROC SQL SELECT INTO子句将变量col6的计算平均值存储到宏变量&col6_mean中。
("name").index.unique() # 设置多个索引值 sex_by_count.set_index(["name",'age'],drop=False) # 当我们有多个索引的时候,怎么操作...# 我们需要这样写 attr5 = attr4['age'] attr6 = attr5.swaplevel() print(attr6['男']) # 如果我们用loc取值 attr3.loc['男...pandas重采样 重采样:指将时间序列从一个频率转化为另一个频率的过程。...降采样:高频率转化为低频率(比如将一个精确到秒的时间转化为只有年月日) 升采样:低频率转化为高频率(与上面相反) 我们需要用resample来实现频率转换。...比如: # 生成100行数据,索引为100个从2017-01-01开始每一个加一个小时,并且精确到秒 attr = pd.DataFrame(np.arange(100).reshape((100,1)
Python中集合主要有两个功能,一个功能是进行集合操作,另一个功能是消除重复元素。...循环结构 这里介绍Python中的for循环结构和while循环结构,循环语句用于遍历枚举一个可迭代对象的所有取值或其元素,每一个被遍历到的取值或元素执行指定的程序并输出。...,当接受一个具体值时(实际参数),负责将具体值传递到函数内部进行运算,例如之前定义的函数avg,形式参数为x。...,若不给定初始列表L,则创建一个列表,再将a加入到列表中: f(3) [3] 也可指定可选参数L的取值: f(3,L = [1,2]) [1, 2, 3] 1.3 匿名函数lambda Python...写出数据 pandas的数据框对象有很多方法,其中方法“to_csv”可以将数据框对象以csv格式写入到本地中。
pd.concat([df1,df2],ignore_index = True) 如果想要沿水平轴连接两个DataFrame,可以设置参数axis=1。...pd.concat([df1,df2],axis = 1) 以上是一些基本操作,我们继续往下看。 2.避免重复索引 我们知道了concat()函数会默认保留原dataframe的索引。...虽然,它会自动将两个df的列对齐合并。但默认情况下,生成的DataFrame与第一个DataFrame具有相同的列排序。例如,在以下示例中,其顺序与df1相同。...常规做法,我们可能会使用for循环解决,比如下面这样。...日常操作。
有很多种实现的途径,我最喜欢的方式是传一个字典给DataFrame constructor,其中字典中的keys为列名,values为列的取值。 ?...你还可以选取多种数据类型,只需要传递一个列表即可: ? 你还可以用来排除特定的数据类型: ? 7. 将字符型转换为数值型 让我们来创建另一个示例DataFrame: ?...将DataFrame划分为两个随机的子集 假设你想要将一个DataFrame划分为两部分,随机地将75%的行给一个DataFrame,剩下的25%的行给另一个DataFrame。...将一个字符串划分成多个列 我们先创建另一个新的示例DataFrame: ? 如果我们需要将“name”这一列划分为三个独立的列,用来表示first, middle, last name呢?...我们现在隐藏了索引,将Close列中的最小值高亮成红色,将Close列中的最大值高亮成浅绿色。 这里有另一个DataFrame格式化的例子: ?
这里提到了index和columns分别代表行标签和列标签,就不得不提到pandas中的另一个数据结构:Index,例如series中标签列、dataframe中行标签和列标签均属于这种数据结构。...前者是将已有的一列信息设置为标签列,而后者是将原标签列归为数据,并重置为默认数字标签 set_axis,设置标签列,一次只能设置一列信息,与rename功能相近,但接收参数为一个序列更改全部标签列信息(...时间类型向量化操作,如字符串一样,在pandas中另一个得到"优待"的数据类型是时间类型,正如字符串列可用str属性调用字符串接口一样,时间类型列可用dt属性调用相应接口,这在处理时间类型时会十分有效。...4 合并与拼接 pandas中又一个重量级数据处理功能是对多个dataframe进行合并与拼接,对应SQL中两个非常重要的操作:union和join。...2 分组聚合 pandas的另一个强大的数据分析功能是分组聚合以及数据透视表,前者堪比SQL中的groupby,后者媲美Excel中的数据透视表。
如果我们需要『选择大于100的所有产品取值并对单元格填充红色』,直接如下图所示,在『条件格式』中选择『突出显示单元格规则』即可进行设置。...图片 案例&背景 我们从一个电商销售的案例背景讲起,下图的数据透视表(pandas pivot table)显示了 2016 年至 2022 年不同产品的总销售额。...图片 接下来演示在 Pandas 中完成这个操作的详细步骤!...你可以设置 subset=None 将这个显示效果应用于整个Dataframe。...可以定义一个函数,该函数突出显示列中的 min、max 和 nan 值。当前是对 Product_C 这一列进行了突出显示,我们可以设置 subset=None来把它应用于整个Dataframe。
下面将通过案例讲解几个重要参数的使用方法: DataFrame.merge(left, right, how='inner', # {‘left’, ‘right...参数on 用于连接的列索引列名,必须同时存在于左右的两个dataframe型数据中,类似SQL中两个表的相同字段属性 如果没有指定或者其他参数也没有指定,则以两个dataframe型数据的相同键作为连接键...另一个例子: ? ? on参数为多个字段-列表形式 ? ? 参数lefton/righton ?...参数suffixes 合并的时候一列两个表同名,但是取值不同,如果都想要保存下来,就使用加后缀的方法,默认是 _x,_y,可以自己指定 ? ? 参数sort 对连接的时候相同键的取值进行排序 ? ?...— 02 — concat 官方参数 concat方法是将两个 DataFrame数据框中的数据进行合并 通过axis参数指定是在行还是列方向上合并 参数 ignore_index实现合并后的索引重排
,对于 List 需要用到 for 循环,而 对于 Numpy 数组则仅仅需要相加处理即可,也可以看出 Numpy 数据方便很多 下面我们来关注 Numpy 的一些操作,这个才是我们学习 Numpy 的重点...]) Output: [3 5] 这里冒号代表所有行,包括零, 现在要获取第二个元素,我们将从两行中调用索引 2,分别为我们获取值 3 和 5 接下来,为了消除混淆,假设我们还有一行,我们只想打印数组中的前两个索引中的元素...DataFrame 以形成单个 DataFrame 让我们实际实现一下,首先我们将创建三个 DataFrame,其中包含一些键值对,然后将这些 DataFrame 合并在一起 import pandas...,所以它打印了各自的值 Concatenation Concatenation 是将 DataFrame 粘合在一起的操作, 我们可以选择要串联的维度。...50 岁之间 Scatter Plot 通常我们需要散点图来比较变量,例如,一个变量受另一个变量影响的程度以从中建立一定关系。
其中Series表示一维数据,Dataframe表示二维数据,Panel表示三维数据。 但实际上,当数据高于二维时,我们一般用包含多层级索引的Dataframe进行表示,而不是使用Panel。...3,使用set_index方法将普通列转成多层级索引 这种方法只能生成多层级行索引。 ? ? ? 4,groupby和pivot_table等方法也可以生成带有多层级索引的结果 ? ? ?...二,多层级索引的取值 多层级索引Series或多层级DataFrame支持方括号直接取值,loc取值,和pd.IndexSlice切片取值等方法。 1,多层级Series的取值 ? ? ?...2,多层级DataFrame的取值 ? ? ? ? ? ? ?...三,多层级索引相关操作 多层级索引相关操作包括stack和unstack,set_index和reset_index,以及指定level的相关方法。 1,stack和unstack ? ? ?
默认情况下,bot 循环每隔几秒运行一次 ( internals.process_throttle_secs ) 并执行以下操作(这个循环将一次又一次地重复,直到机器人停止):从存储中获取未平仓交易 open...,1 表示要操作,也可以设置个 ‘enter_tag’ 表示操作标签def populate_entry_trend(self, dataframe: DataFrame, metadata: dict...ADX指标则是基于+DI和-DI之间的差异来计算,它可以在0到100之间取值,数值越高表示趋势越强。...DI指标的取值范围为0到100,通常可以通过绘制- DI线来显示其走势。...+DI指标的取值范围为0到100,通常可以通过绘制+DI线来显示其走势。
而作用对象则取决于调用apply的对象类型,具体来说: 一个Series对象调用apply时,数据处理函数作用于该Series的每个元素上,即作用对象是一个标量,实现从一个Series转换到另一个Series...; 一个DataFrame对象调用apply时,数据处理函数作用于该DataFrame的每一行或者每一列上,即作用对象是一个Series,实现从一个DataFrame转换到一个Series上; 一个DataFrame...),实现从一个DataFrame转换到一个Series上。...那么应用apply到一个DataFrame的每个Series,自然存在一个问题是应用到行还是列的问题,所以一个DataFrame调用apply函数时需要指定一个axis参数,其中axis=0对应行方向的处理...applymap是将接收函数应用于DataFrame的每个元素,以实现相应的变换。
然后,我们可以直接对这两个ndarray进行运算,得到每个产品的销售总额。最后,将运算结果添加到DataFrame中的Sales Total列。...这使得ndarray在进行向量化操作时非常高效,比使用Python原生列表进行循环操作要快得多。...创建ndarray在numpy中,我们可以使用多种方式来创建ndarray对象:通过Python原生列表或元组创建:使用numpy.array()函数可以从一个Python原生列表或元组创建一个ndarray...例如a[0]可以访问数组a的第一个元素。切片操作:通过指定切片范围来访问数组的子集。切片操作使用冒号:来指定开始和结束位置,并可指定步长。...例如a[1:4]可以访问数组a的第2个元素到第4个元素。布尔索引:通过指定一个布尔数组来访问数组中满足某个条件的元素。例如a[a > 5]可以访问数组a中大于5的元素。
领取专属 10元无门槛券
手把手带您无忧上云