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

使用Python进行现金流预测

在本文中,我们将学习如何用Python构建一个简单的现金流预测模型,最终形成一个更复杂的模型。在这个模型中,我们用Python构建了一个抵押计算器。...多个输入值、公式和下拉列表,让我们看看下面的例子。这里只显示了10年,但实际的Excel文件显示了30年。...然后,再循环29次,计算随后每年的收入,并将其添加到列表中。我们有一个30年的现金流预测。...图2 我们知道,对于在zip()函数中创建的每个元组,第一个元素是收入,第二个元素是贴现率,因此我们可以将它们相乘以获得贴现现金流。让我们通过元组循环计算贴现现金流,并将其放入另一个列表中。...这样,当前值就是结果列表的总和。

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

    VBA实战技巧32:安装Excel加载宏

    图2 如果你的加载宏不在“可用加载宏”列表中,则必须单击该对话框右侧的“浏览”按钮,进行查找,然后将其添加到可用加载宏列表中。...所需的值只是加载项的路径及其名称,如下图3所示。 图3 选择了哪些加载宏 在注册表的另一个位置,Excel会记录选择了哪些加载项(在加载项对话框中检查)。...如果用户直接打开压缩文件(zip文件)下载,然后打开加载项,则xlam文件将存储在临时位置(如果安装了解压缩软件),或者位于名称中包含.zip的文件夹中。...因为当没有活动工作簿时你无法打开加载项对话框,显然这也会阻止Excel通过VBA将新加载项添加到列表中。...如果单击“否”,则会弹出另一个对话框,询问用户是否希望继续询问有关安装加载项的问题,如下图8所示。 图8 如果单击“是”,代码会存储该响应值,因此不会再次打扰用户。

    5.3K20

    【Python内功心法】:深挖内置函数,释放语言潜能

    由于局部变量 x 被添加到了 my_locals 中,因此我们可以通过该字典获取变量的值。 locals 参数仅在 exec() 函数中生效。...filter() 函数接收两个参数:一个是函数(该函数用于测试序列中的每个元素),另一个是可迭代对象(如列表、元组、字符串等),然后返回一个迭代器,该迭代器生成经过测试函数筛选后的元素。...)) # 输出: [1, 3, 5] 注意:从 Python 3 开始,filter() 直接返回一个迭代器而不是列表,因此如果需要实际的列表或其他容器,通常需要将结果转换为所需的类型。...6. zip函数 zip() 是 Python 中的一个内置函数,用于将多个可迭代对象(如列表、元组、字符串等)打包成一个元组的列表(在 Python 2 中返回列表,在 Python 3 中返回迭代器...功能说明: 当传入两个或多个可迭代对象时,zip() 会将这些可迭代对象中相同位置的元素配对,形成一个元组,然后将这些元组合并成一个列表(或在 Python 3 中直接返回一个迭代器)。

    12610

    绘制图表(1):初次实现

    之前介绍了HTML和XML,今天,你将遇到另一个很熟悉的缩略语——PDF。它指的是可移植的文档格式(portable document format)。...4.初次实现 在初次实现中,我们将以元组列表的方式将这些数据添加到源代码中,以便轻松地使用它们。下面演示了如何这样做: ? 完成这项工作后,来看看如何将数据转换为图形。...这些折线上的每个点都由时间(年和月)和值(从相关列获取的太阳黑子数)组成。要获取一列的值,可使用列表推导。...pred = [row[2]for row in data] pred将是一个列表,其中包含第3列的所有值。...请注意,这里使用zip将时间和值合并成了元组列表。 4.3.编写原型 现在可以编写程序的第一个版本了,其源代码如图所示。 ? 如你所见,为了正确的定位,我调整了值和时间戳。生成的图形如图所示。 ?

    2K20

    Python3中for循环多个变量详解

    for 循环用于迭代任何序列,从列表到元组再到字典。它甚至可以遍历一个字符串。 在同一行代码中同时对变量进行多次赋值,称为可迭代解包。...Python的 for 循环中,使用多个变量可以应用于列表或字典,但它不适用于一般错误。 字典中使用 for 循环进行多项赋值 字典可用于将数据值存储在键值对中。...简单来说,字典将一个值映射到另一个值,类似于使用英语字典将一个单词映射到其定义的方式。 这里,我们使用字典的 items() 方法,将字典内容以列表的形式输出,其中包含所有字典键及其值。...当有两个列表时可以使用此方法,并且在索引的帮助下同时处理这两个列表以在另一个列表中查找相应的元素。 以下代码使用 enumerate() 函数在列表中进行多项赋值。...zip() 函数可用于并行交互,也可以一次解包多个变量。以下代码使用 zip() 函数在元组或列表中进行多项赋值。

    1.6K30

    53 道 Python 面试题,帮你成为大数据工程师

    装饰器允许通过将现有功能传递给装饰器,从而将功能添加到现有功能,该装饰器将执行现有功能以及其他代码。 我们将编写一个装饰器,该装饰器会在调用另一个函数时记录日志。 编写装饰器函数。...5.解释范围功能 Range生成一个整数列表,有3种使用方式。 该函数接受1到3个参数。请注意,我将每种用法都包装在列表推导中,以便我们看到生成的值。...使用bin()函数。 bin(5) #=> '0b101' 34.如何从列表中删除重复的元素? 可以通过将列表转换为集合然后返回列表来完成。...append将值添加到列表,而extend将另一个列表中的值添加到列表。...abs(2) #=> 2 abs(-2) #=> 2 38.如何将两个列表组合成一个元组列表? 您可以使用zip函数将列表组合成一个元组列表。这不仅限于仅使用两个列表。也可以用3个或更多来完成。

    10.5K41

    python-for-data-python基础

    索引index左边从0开始,右边从-1开始,index()函数可以查看某个元素的索引编号。...用途 元组表列表操作速度快; 在进行遍历操作的时候,请用元组代替列表 如果对不需要修改的数据进行“写保护”,即改数据是常量,也要使用元组;如果需要改变这些值,转换为列表进行修改 元组在字典中可以当做key...([1,3,4,2,6,5]) [1,2,3,4,5,6] zip 配对 将列表、元组或者其他序列中的元素进行配对组合,新建一个元组构成的列表 ?...将已经配对的序列用zip进行拆分,注意*的使用 first_name, last_name = zip(*pitchers) ?...= range(1, 6) list2 = range(6, 11) list(map(lambda x, y: x + y, list1, list2)) # 将两个list中的对象一次相加 求出两个列表中对应位置的较大值

    1.3K20

    13 个非常有用的 Python 代码片段

    1:将两个列表合并成一个字典假设我们在 Python 中有两个列表,我们希望将它们合并为字典形式,其中一个列表的项作为字典的键,另一个作为值。...else: dict_method_3[key] = value2:将两个或多个列表合并为一个包含列表的列表另一个常见的任务是当我们有两个或更多列表时,我们希望将它们全部收集到一个大列表中...,根据列表中包含的元素的数据类型,我们将采用稍微不同的方式对它们进行排序。...,我们可能需要使用一个列表来对另一个列表进行排序,因此,我们将有一个数字列表(索引)和一个我们想使用这些索引进行排序的列表a = ['blue', 'green', 'orange', 'purple'...(b, a), key=lambda x: \ x[0])]6:将列表映射到字典列表代码片段的最后一个任务,如果给定一个列表并将其映射到字典中,也就是说,我们想将我们的列表转换为带有数字键的字典

    74930

    Python中的zipfile模块使用实例1 压缩文件的基本信息2 解压文件

    文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a',w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到一个现存的zip文档中; 3.参数compression...表示在写zip文档时使用的压缩方法,它的值可以是zipfile....文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a', # 'w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到一个现存的zip文档中 # 参数compression...表示在写zip文档时使用的压缩方法,它的值可以是zipfile....参数members的默认值为zip文档内的所有文件名称列表,也可以自己设置,选择要解压的文件名称。

    1.3K60

    13 个非常有用的 Python 代码片段,建议收藏!

    今天我们主要来介绍应用程序当中的通用 Python 代码片段,一起进步吧 Lists Snippets 我们先从最常用的数据结构列表开始 №1:将两个列表合并成一个字典 假设我们在 Python 中有两个列表...,我们希望将它们合并为字典形式,其中一个列表的项作为字典的键,另一个作为值。...else: dict_method_3[key] = value №2:将两个或多个列表合并为一个包含列表的列表 另一个常见的任务是当我们有两个或更多列表时,我们希望将它们全部收集到一个大列表中...这一组日常列表任务是排序任务,根据列表中包含的元素的数据类型,我们将采用稍微不同的方式对它们进行排序。...有时,我们可能需要使用一个列表来对另一个列表进行排序,因此,我们将有一个数字列表(索引)和一个我们想使用这些索引进行排序的列表 a = ['blue', 'green', 'orange', 'purple

    70340

    教你怎么用python操作文件

    这可能并总是你一直想要的结果,下一节将向你展示如何从目录列表中过滤结果。...提取ZIP文件 zipfile 模块允许你通过 .extract() 和 .extractall() 从ZIP文件中提取一个或多个文件。 默认情况下,这些方法将文件提取到当前目录。...new_zip.write(name) 复制代码 在该示例中,new_zip 以写入模式打开,file_list 中的每个文件都添加到存档文件中。 with语句结束后,将关闭 new_zip 。...在追加模式下打开 ZipFile 对象允许将新文件添加到ZIP文件而不删除其当前内容。 将文件添加到ZIP文件后,with语句将脱离上下文并关闭ZIP文件。...从TAR存档中提取文件 在本节中,你将学习如何使用以下方法从TAR存档中提取文件: .extract() .extractfile() .extractall() 要从TAR存档中提取单个文件,请使用

    6.5K20

    开源图书《Python完全自学教程》6.3.2两个常用函数

    6.3.2 zip() 和 enumerate() 这两个函数不是仅供循环语句使用,但它们可以帮助循环语句更容易实现某些功能。...> zip("abc", "def") zip object at 0x7f8293d44f40> 函数的返回值是一个迭代器对象( zip object 。...c.append(x * y) ... >>> c [9, 16, 21, 24, 25] 注释(10)中以 zip(a, b) 得到 a 和 b 的对应项的“配对组合”,经循环语句之后,逐个求积,并追加到前面已经创建的空列表...2. enumerate() 在学习使用这个函数之前,先做个练习——还是强调“温故而知新”的学习方法:使用标准库中的 random 模块,生成一个含有 20 个成员的列表,其成员是由 1 到 10 中随机整数组成...看注释(11),random.randint(1, 10) 可以生成一个随机数——本质上是伪随机,并将该随机数追加到列表中(6.4节会有更优化的方法实现此操作)。

    38420

    值得一看,13个好用到起飞的Python技巧!

    列表 与列表相关的6个操作,介绍如下; 1. 将两个列表合并到一个字典中 假设我们在Python中有两个列表,我们希望将它们合并为字典形式,其中一个列表的项目作为字典的键,另一个作为值。...我们可以通过使用像 zip 这样的内置函数来克服这个问题。...keys_list = ['A', 'B', 'C'] values_list = ['blue', 'red', 'bold'] # 有 3 种方法可以将这两个列表转换为字典 # 1.使用Python...使用带有字典推导式的 zip 函数 dict_method_2 = {key:value for key, value in zip(keys_list, values_list)} # 3.循环使用...根据另一个列表对列表进行排序 有时,我们可能想要/需要使用一个列表来对另一个列表进行排序。因此,我们将有一个数字列表(索引)和一个我想使用这些索引进行排序的列表。

    90720

    python3内置函数详解

    在接收用户输入时应避免使用eval,因为别有用心的用户可能借此注入恶意代码 exec()    #执行python代码(可以是编译过的,也可以是未编译的),没有返回结果(返回None) e.g....e.g. list(filter(lambda a:a>1,[1,2,3])) 返回[2,3] map(函数或lambda表达式,可迭代的对象)  #对可迭代的每一个元素,将其作为实参传入函数,将每一次调用函数返回的结果都添加到...('please input:')  # 提示用户输入,返回用户输入的内容(不论输入什么,都转换成字符串类型) issubclass(subclass,class) #查看这个类是否是另一个类的派生类,...求次方,返回x**y的结果 pow(x,y,z) # 返回 x**y%z 的结果 property()  # 获取对象的所有属性 range()  # 获取随机数或随机字符 eg. range(10) 从0...eg. myList = list(zip([1,2,3],['a','b','c'])) 创建myList列表[(1,'a'),(2,'b'),(3,'c')]     mydic = dict(zip

    77430

    Python基础:理解enumerate函数和zip函数

    图5 作为另一个示例,下面的脚本演示了如何使用enumerate()函数获取“nums”列表中整数20的所有索引。...图6 还可以通过向start参数传递一个值来重置enumerate()返回的元组的起始索引。例如,下面的脚本将8设置为enumerate()函数返回的元组列表的起始索引值。...下面的脚本包含三个列表:names、ages和genders,每个列表有5项。这些列表通过zip()函数聚合。如果打印zip()函数返回的元组列表,将看到每个元组项都包含来自原始列表中匹配索引的项。...图8 正如在enumerate()函数中看到的那样,可以使用元组解包从zip()函数返回的元组中获取单个项。...在以下情况下,使用zip()函数聚合names、ages和genders列表将只返回两个元组,其中包含names、ages和genders列表的第0个和第1个索引中的项。

    2.3K20

    最近超火的自动获取QQ空间历史动态的开源项目

    原理就是是通过模拟登录QQ空间来获取历史消息列表,然后进行数据分析,最后将爬取的说说存放到/resource/result目录下使用。 使用的方法也很简单,我们直接下载对应的程序,然后解压使用即可。...github.com/LibraHp/GetQzonehistory/releases/download/latest/GetQzoneHistory-GUI-macOS-x86_64-latest.zip...页面分别如下: 获取完毕之后,左边的说说列表,留言列表,好友列表等这些就均可以点击查看了。我这边登录之后,发现最早只能获取到2016年的说说。再往前的就获取不到了。...不过意外的是能看到许多年前参与过评论的其他同学的动态,也会在当前列表展示。当然我认为最好的还是这个照片墙功能。可以把发布过的说说图片都汇聚在一起,直接查看还是挺方便的。感兴趣的可以直接使用一下。...结尾图片来自2016年大河剧《真田丸》,当时每周更新一集,追的津津有味。 创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。

    85610

    python数据结构

    python数据结构 列表 将列表当做堆栈使用 将列表当作队列使用 列表推导式 嵌套列表解析 del 语句 元组和序列 集合 字典 遍历技巧 列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点...将列表当做堆栈使用 列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加到堆栈顶。...列表推导式提供了从序列创建列表的简单途径。...从以上示例可以得知,所谓推导式就是写在方括号里的一个混合表达式,这个表达式会返回出一个新的列表对象(如果使用的是方括号的话) 还可以生成二维列表: vec=[1,2,3] list1=[[x,x**3...这与使用 pop() 返回一个值不同。可以用 del 语句从列表中删除一个切割,或清空整个列表(我们以前介绍的方法是给该切割赋一个空列表)。

    1.5K20
    领券