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

使用Python进行现金流预测

在本文中,我们将学习如何Python构建一个简单的现金流预测模型,最终形成一个更复杂的模型。在这个模型中,我们用Python构建了一个抵押计算器。...用于现金流预测的Python工具 我们可以使用列表或pandas库来预测现金流。可能还有其他工具或库,有兴趣的可以进一步研究,但这里只使用列表和pandas。...然后,再循环29次,计算随后每年的收入,并将其添加到列表中。我们有一个30年的现金流预测。...让我们通过元组循环计算贴现现金流,并将其放入另一个列表中。这样,当前值就是结果列表的总和。...让我们从创建一个包含30行和2pandas数据框架开始——一列用于收入预测,另一列用于贴现率。 图4 一旦我们有了这两个向量,我们可以将它们相乘得到贴现现金流,然后求和sum()得到现值。

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

Python与Excel协同应用初学者指南

标签:Python与Excel协同 本文将探讨学习如何Python中读取和导入Excel文件,将数据写入这些电子表格,找到最好的软件包来做这些事。...Pandas库建立在数字Python(通常称为NumPy)之上,为Python编程语言提供易于使用的数据结构和数据分析工具。Pandas有内置的函数,可以用来分析和绘制数据,使它的展现其意义。...可以在下面看到它的工作原理: 图15 已经为在特定中具有值的行检索了值,但是如果要打印文件的行而不只是关注一列,需要做什么? 当然,可以使用另一个for循环。...图17 至此,还看到了如何Python使用openpyxl读取数据检索数据。很多人可能会觉得这是一种非常困难的处理这些文件的方法,当还没有研究如何操作数据时,这肯定会更加复杂。...另一个for循环,每行遍历工作表中的所有;为该行中的每一列填写一个值。

17.3K20

Excel与pandas使用applymap()创建复杂的计算

标签:Python与Excel,pandas 我们之前讨论了如何pandas中创建计算讲解了一些简单的示例。...图1 创建一个辅助函数 现在,让我们创建一个取平均值的函数,并将其处理/转换为字母等级。 图2 现在我们要把这个函数应用到每个学生身上。那么,在中对每个学生进行循环?不!...记住,我们永远不应该循环遍历pandas数据框架/系列,因为如果我们有一个大的数据集,这样做效率很低。...注意下面的代码,我们只在包含平均值的三上应用函数。因为我们知道第一列包含字符串,如果我们尝试对字符串数据应用letter_grade()函数,可能会遇到错误。...图3 我们仍然可以使用map()函数来转换分数等级,但是,需要在三中的每一列上分别使用map(),而applymap()能够覆盖整个数据框架(多)。

3.8K10

【精心解读】用pandas处理大数据——节省90%内存消耗的小贴士

图示来源改编自Why Python Is Slow 你可能注意到上文表中提到object类型数据使用可变(variable)大小的内存。...当我们把一列转换成category类型时,pandas会用一种最省空间的int子类型去表示这一列中所有的唯一值。...有关category类型的更多限制,参看pandas文档。 下面我们写一个循环,对每一个object进行迭代,检查其唯一值是否少于50%,如果是,则转换成类别类型。...我们还有一招可以做优化,如果你记得我们刚才那张类型表,会发现我们数据集第一列还可以用datetime类型来表示。 你可能还记得这一列之前是作为整型读入的,优化成了uint32。...总结 我们学习了pandas如何存储不同的数据类型,利用学到的知识将我们的pandas dataframe的内存用量降低了近90%,仅仅只用了一点简单的技巧: 将数值型降级到更高效的类型 将字符串列转换为类别类型

8.6K50

单列文本拆分为多Python可以自动化

标签:Python与Excel,pandas 在Excel中,我们经常会遇到要将文本拆分。Excel中的文本拆分为,可以使用公式、“分列”功能或Power Query来实现。...为了自动化这些手工操作,本文将展示如何Python数据框架中将文本拆分为。...当我们使用pandas来处理数据时,我们不会使用循环,相反,我们使用矢量化操作来实现快速处理。...矢量化操作(在表面上)相当于Excel的“分列”按钮或Power Query的“拆分列”,我们在其中选择一列对整个执行某些操作。...看一个例子: 图6 上面的示例使用逗号作为分隔符,将字符串拆分为两个单词。从技术上讲,我们可以使用字符作为分隔符。注意:返回结果是两个单词(字符串)的列表。 那么,如何将其应用于数据框架

6.9K10

告诉你怎么创建pandas数据框架(dataframe)

标签:Python与Excel,pandas 通过前面的一系列文章的学习,我们已经学习了使用pandas将数据加载到Python中的多种不同方法,例如.read_csv()或.read_excel()。...下面,我们就来学习如何创建一个空的数据框架(例如,像一个空白的Excel工作表)。 基本语法 在pandas中创建数据框架有很多方法,这里将介绍一些最常用和最直观的方法。...它实际上只是将上述结构放入一个数据框架中。因为我们没有指定index和columns参数,默认情况下它们被设置为从0开始的整数值。记住,Python是基于0的索引。...然而,如果你打算创建两,第一列包含a中的值,第二包含b中的值,该怎么办?你仍然可以使用列表,但这一次必须将其zip()。 图4 好的,但是zip对象到底是什么?...我们可以自由地将行或插入数据框架,反之亦然(使用我们之前的10 x 5数据框架示例)。

1.9K30

Python让Excel飞起来:使用Python xlwings实现Excel自动化

学习Excel技术,关注微信公众号: excelperfect 标签:Python与Excel,xlwings 本文将向你展示如何使用Python xlwings库自动化Excel。...你可以使用xlwings+Python执行下列任务: 1.使用Python自动化Excel,例如生成报告。 2.使用Python编写宏,通过单击按钮从Excel运行。...这里,我们要在另一列中计算x轴的指数值。在下面的代码中,我们使用了“f-string”,这是从Python 3.6开始的一种改进的字符串格式语法。...我们在末尾重置了索引,因此x轴将被视为,而不是数据框架索引。 图8 数据已经读入到Python,我们可以生成一个图形,然后将其放入Excel文件中。...上文中已讨论了如何修复此错误,确保Excel宏设置正确。 2.键入用户定义的函数时,单元格中会显示“Object Require”(对象要求)。

8.2K41

收藏 | 11个Python Pandas小技巧让你的工作更高效(附代码实例)

本文为你介绍Pandas隐藏的炫酷小技巧,我相信这些会对你有所帮助。 或许本文中的某些命令你早已知晓,只是没意识到它还有这种打开方式。 ? Pandas是一个在Python中广泛应用的数据分析包。...加入这些参数的另一大好处是,如果这一列中同时含有字符串和数值类型,而你提前声明把这一列看作是字符串,那么这一列作为主键来融合多个表时,就不会报错了。...如果我们想在现有几列的基础上生成一个新一同作为输入,那么有时apply函数会相当有帮助。...基于分位数分组 面对一列数值,你想将这一列的值进行分组,比如说最前面的5%放入组别一,5-20%放入组别二,20%-50%放入组别三,最后的50%放入组别四。...首先是 print(df[:5].to_csv()) 你可以使用这个命令打印出将要输出文件中的前五行记录。 另一个技巧是用来处理整数值和缺失值混淆在一起的情况。

1.2K30

【强强联合】在Power BI 中使用Python(2)

上一篇文章我们讲解了在Power BI中使用Python来获取数据的一些应用: 【强强联合】在Power BI 中使用Python(1) 这一篇我们将继续讲解如何在Power BI中使用Python进行数据清洗工作...理论上我们需要在这个地方键入: import pandas as pd 以表示我们要使用pandas库,但是Power BI在调用Python时,自动导入了pandas和matplotlib库,所以这一行写不写都一样...dataset.insert(loc=1,column="add_100",value=dataset["Value"]+100) dataset就是源数据表自动换换的dataframe格式数据,“loc=1”代表在第一列数据后插入一列...再比如,我们想提取数据的某,比如上面这张表的“key2”,我们可以点击运行Python脚本,写入如下的代码: ?...下一篇我们将继续讲解如何使用Python的matplotlib库在Power BI中进行可视化呈现。 ?

3.2K31

Pandas使用技巧:如何将运行内存占用降低90%!

在这篇文章中,我们将了解 pandas 的内存使用,以及如何只需通过为选择合适的数据类型就能将 dataframe 的内存占用减少近 90%。...当我们将一列转换成 category dtype 时,pandas使用最节省空间的 int 子类型来表示该中的所有不同值。...这一列没有任何缺失值,但就算有,category 子类型也能处理,只需将其设置为 -1 即可。 最后,让我们看看在将这一列转换为 category 类型前后的内存用量对比。...我们将编写一个循环函数来迭代式地检查每一 object 中不同值的数量是否少于 50%;如果是,就将其转换成 category 类型。...我们还可以执行另一项优化——如果你记得前面给出的数据类型表,你知道还有一个 datetime 类型。这个数据集的第一列就可以使用这个类型。

3.5K20

没错,这篇文章教你妙用Pandas轻松处理大规模数据

下面的图标展示了数字值是如何存储在 NumPy 数据类型中,以及字符串如何使用 Python 内置的类型存储。 你可能已经注意到,我们的图表之前将对象类型描述成使用可变内存量。...当我们将转换为 category dtype 时,Pandas 使用了最省空间的 int 子类型,来表示一列中所有的唯一值。 想要知道我们可以怎样使用这种类型来减少内存使用量。...我们将编写一个循环程序,遍历每个对象,检查其唯一值的数量是否小于 50%。如果是,那么我们就将这一列转换为 category 类型。...因此,将其转换为 datetime 时,内存的占用量会增加一倍,因为 datetime 的类型是 64 位。无论如何将其转换成 datetime 是有价值的,因为它将让时间序列分析更加容易。...总结和后续步骤 我们已经了解到 Pandas如何存储不同类型的数据的,然后我们使用这些知识将 Pandas 里的数据框的内存使用量降低了近 90%,而这一切只需要几个简单的技巧: 将数字 downcast

3.6K40

独家 | 11个Python Pandas小技巧让你的工作更高效(附代码实例)

本文为你介绍Pandas隐藏的炫酷小技巧,我相信这些会对你有所帮助。 或许本文中的某些命令你早已知晓,只是没意识到它还有这种打开方式。 ? Pandas是一个在Python中广泛应用的数据分析包。...加入这些参数的另一大好处是,如果这一列中同时含有字符串和数值类型,而你提前声明把这一列看作是字符串,那么这一列作为主键来融合多个表时,就不会报错了。...如果我们想在现有几列的基础上生成一个新一同作为输入,那么有时apply函数会相当有帮助。...基于分位数分组 面对一列数值,你想将这一列的值进行分组,比如说最前面的5%放入组别一,5-20%放入组别二,20%-50%放入组别三,最后的50%放入组别四。...首先是 print(df[:5].to_csv()) 你可以使用这个命令打印出将要输出文件中的前五行记录。 另一个技巧是用来处理整数值和缺失值混淆在一起的情况。

67220

【技巧】11 个 Python Pandas 小技巧让你更高效

Pandas是一个在Python中广泛应用的数据分析包。市面上有很多关于Pandas的经典教程,但本文介绍几个隐藏的炫酷小技巧,我相信这些会对你有所帮助。...加入这些参数的另一大好处是,如果这一列中同时含有字符串和数值类型,而你提前声明把这一列看作是字符串,那么这一列作为主键来融合多个表时,就不会报错了。...如果我们想在现有几列的基础上生成一个新一同作为输入,那么有时apply函数会相当有帮助。...基于分位数分组 面对一列数值,你想将这一列的值进行分组,比如说最前面的5%放入组别一,5-20%放入组别二,20%-50%放入组别三,最后的50%放入组别四。...首先是 print(df[:5].to_csv()) 你可以使用这个命令打印出将要输出文件中的前五行记录。 另一个技巧是用来处理整数值和缺失值混淆在一起的情况。

96240

教程 | 简单实用的pandas技巧:如何将内存占用降低90%

在这篇文章中,我们将了解 pandas 的内存使用,以及如何只需通过为选择合适的数据类型就能将 dataframe 的内存占用减少近 90%。 ?...当我们将一列转换成 category dtype 时,pandas使用最节省空间的 int 子类型来表示该中的所有不同值。 ?...这一列没有任何缺失值,但就算有,category 子类型也能处理,只需将其设置为 -1 即可。 最后,让我们看看在将这一列转换为 category 类型前后的内存用量对比。...我们将编写一个循环函数来迭代式地检查每一 object 中不同值的数量是否少于 50%;如果是,就将其转换成 category 类型。...我们还可以执行另一项优化——如果你记得前面给出的数据类型表,你知道还有一个 datetime 类型。这个数据集的第一列就可以使用这个类型。

3.8K100

8 个 Python 高效数据分析的技巧

一行代码定义List 定义某种列表时,写For 循环过于麻烦,幸运的是,Python有一种内置的方法可以在一行代码中解决这个问题。 ? 下面是使用For循环创建列表和用一行代码创建列表的对比。...在Pandas中,删除一列或在NumPy矩阵中求和值时,可能会遇到Axis。...我们用删除一列(行)的例子: df.drop( Column A , axis=1) df.drop( Row A , axis=0) 如果你想处理,将Axis设置为1,如果你想要处理行,将其设置为0...如果你想在Python中对其进行索引,则行数下标为0,数下标为1,这很像我们如何声明轴值。 Concat,Merge和Join 如果您熟悉SQL,那么这些概念对您来说可能会更容易。...使用Apply,可以将DataFrame(是一个Series)的值进行格式设置和操作,不用循环,非常有用!

2.7K20

8个Python高效数据分析的技巧。

1 一行代码定义List 定义某种列表时,写For 循环过于麻烦,幸运的是,Python有一种内置的方法可以在一行代码中解决这个问题。下面是使用For循环创建列表和用一行代码创建列表的对比。...具体来说,map通过对列表中每个元素执行某种操作并将其转换为新列表。 在本例中,它遍历每个元素乘以2,构成新列表。 (注意!...在Pandas中,删除一列或在NumPy矩阵中求和值时,可能会遇到Axis。...我们用删除一列(行)的例子: df.drop('Column A', axis=1) df.drop('Row A', axis=0) 如果你想处理,将Axis设置为1,如果你想要处理行,将其设置为0...使用Apply,可以将DataFrame(是一个Series)的值进行格式设置和操作,不用循环,非常有用!

2.2K10

数据存储,一文总结Python读写excel文档(上)

在应用python爬取数据的过程中,往往需要存储数据,而除开应用数据库存储数据以外,excel格式应该算是比较常用的存储格式,而关于excel文档数据的读写,在python中实现的方法有很多,概因python...print(ws.max_column) # 按读取所有数据,每一列的单元格放入一个元组中 print(ws.columns) # 直接打印,打印结果是一个可迭代对象,我们可以转换成列表来查看...# 按行读取所有数据,每一行的单元格放入一个元组中 rows = ws.rows # 我们可以通过for循环以及value来查看单元格的值 for row in list(rows): # 遍历每行数据...,width = df.shape print(height,width,type(df)) #读取某一列数据信息 fss=df['网址'] print(fss) #读取某一列某个数据 print(fss...[5]) #读取某一列数据 fs=fss.values print(fs) fs=list(fs) #转换为列表 print(fs) 运行效果: ?

1.5K20

Python for Excel》读书笔记连载12:使用pandas进行数据分析之理解数据

7.Python入门之语句、函数和代码组织 8.NumPy入门 9.使用pandas进行数据分析之核心数据结构——数据框架和系列 10.使用pandas进行数据分析之数据操作 11.使用pandas进行数据分析之组合数据...引言:本文为《Python for Excel》中第5章Chapter 5:Data Analysis with pandas的部分内容,主要讲解了pandas如何对数据进行描述性统计,讲解了将数据聚合到子集的两种方法...index和columns分别定义数据框架的哪一列将成为透视表的行和标签。...Region)的唯一值,并将其转换为透视表的标题,从而聚合来自另一列的值。...虽然Excel使用术语图表(charts),但pandas通常将其称为绘图(plots)。在本书中会交替使用这些术语。

4.2K30
领券