Python pandas 计算每行的增长率与累计增长率

读取数据:

FacebookDf=pd.read_excel(r'D:\jupyter\Untitled Folder\Facebook2017年股票数据.xlsx',index_col='Date')
FacebookDf.tail()

计算当前行比上一行增长的百分比(每行的增长率)

# .pct_change()返回变化百分比,第一行因没有可对比的,返回Nan,填充为0
# apply(lambda x: format(x, '.2%'))将小数点转换为百分数
FacebookDf['pct_change']=FacebookDf['Close'].pct_change(1).fillna(0).apply(lambda x: format(x, '.2%'))
FacebookDf['pct_change'].head()

计算当前行比第一行增长的百分比(累计百分比)

Close1=FacebookDf.loc['2017-01-03','Close']
# apply(lambda x: (x-Close1)/Close1)计算累计增长率
# apply(lambda x: format(x, '.2%') 将小数点转换为百分数
FacebookDf['sum_pct_change']=FacebookDf['Close'].apply(lambda x: (x-Close1)/Close1).apply(lambda x: format(x, '.2%'))
FacebookDf['sum_pct_change'].head()

到此这篇关于Python pandas 计算每行的增长率与累计增长率的文章就介绍到这了,更多相关pandas计算增长率内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python Pandas读取Excel日期数据的异常处理方法

    目录 异常描述 出现原因 解决方案:修改自定义格式 pandas直接解析Excel数值为日期 总结 异常描述 有时我们的Excel有一个调整过自定义格式的日期字段: 当我们用pandas读取时却是这样的效果: 不管如何指定参数都无效. 出现原因 没有使用系统内置的日期单元格格式,自定义格式没有对负数格式进行定义,pandas读取时无法识别出是日期格式,而是读取出单元格实际存储的数值. 解决方案:修改自定义格式 可以修改为系统内置的自定义格式: 或者在自定义格式上补充负数的定义: 增加;@即可 p

  • Python pandas之多级索引取值详解

    目录 数据需求 需求拆解 需求处理 方法一 方法二 总结 最近发现周围的很多小伙伴们都不太乐意使用pandas,转而投向其他的数据操作库,身为一个数据工作者,基本上是张口pandas,闭口pandas了,故而写下此系列以让更多的小伙伴们爱上pandas. 平台: windows 10 python 3.8 pandas 1.2.4 数据需求 给定一份多级索引数据,查找指定值. 需求拆解 数据提取在pandas中,或者说在python中就是索引式提取,在单层索引中采用.loc或.iloc方法已经非

  • Python数据处理的26个Pandas实用技巧总结

    目录 从剪贴板中创建DataFram 将DataFrame划分为两个随机的子集 多种类型过滤DataFrame DataFrame筛选数量最多类别 处理缺失值 一个字符串划分成多列 Series扩展成DataFrame 对多个函数进行聚合 聚合结果与DataFrame组合 选取行和列的切片 MultiIndexedSeries重塑 创建数据透视表 连续数据转类别数据 StyleaDataFrame 额外技巧 ProfileaDataFrame 大家好,今天给大家分享一篇 pandas 实用技巧,

  • Python pandas 计算每行的增长率与累计增长率

    读取数据: FacebookDf=pd.read_excel(r'D:\jupyter\Untitled Folder\Facebook2017年股票数据.xlsx',index_col='Date') FacebookDf.tail() 计算当前行比上一行增长的百分比(每行的增长率) # .pct_change()返回变化百分比,第一行因没有可对比的,返回Nan,填充为0 # apply(lambda x: format(x, '.2%'))将小数点转换为百分数 FacebookDf['pct

  • Python Pandas 对列/行进行选择,增加,删除操作

    一.列操作 1.1 选择列 d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])} df = pd.DataFrame(d) print (df ['one']) # 选择其中一列进行显示,列长度为最长列的长度 # 除了 index 和 数据,还会显示 列表头名,和 数据 类型 运行结果: a    1.0 b   

  • Python pandas删除指定行/列数据的方法实例

    目录 1.滤除缺失数据dropna() 1)滤除含有NaN值的所有行 2)滤除含有NaN值的所有列 3)滤除元素都是NaN值的行 4)滤除元素都是NaN值的列 5)滤除指定列中含有缺失的行 2.删除重复值 drop_duplicates() 1)keep=“first” 2)keep=“last” 3)keep=False 4)删除指定列中重复项对应的行 3.根据指定条件删除行列drop() 1).删除指定列 2).删除指定行 总结 1.滤除缺失数据dropna() import pandas

  • python pandas遍历每行并累加进行条件过滤方式

    目录 pandas遍历每行并累加进行条件过滤 python DataFrame遍历 1.DataFrame.iterrows() 2.DataFrame.itertuples() 3.DataFrame.iteritems() pandas遍历每行并累加进行条件过滤 本次记录主要实现对每行进行排序,并保留前80%以前的偏好. 思路: 将每行的概率进行排序,然后累加,累加值小于等于0.8的偏好保留,获得一个累加过滤的dataframe,然后映射回原始数据中,保留每行的偏好.接下来是代码的实现 a

  • python pandas库读取excel/csv中指定行或列数据

    目录 引言 1.根据index查询 2.已知数据在第几行找到想要的数据 3.根据条件查询找到指定行数据 4.找出指定列 5.找出指定的行和指定的列 6.在规定范围内找出符合条件的数据 总结 引言 关键!!!!使用loc函数来查找. 话不多说,直接演示: 有以下名为try.xlsx表: 1.根据index查询 条件:首先导入的数据必须的有index 或者自己添加吧,方法简单,读取excel文件时直接加index_col 代码示例: import pandas as pd #导入pandas库 ex

  • python中pandas.DataFrame对行与列求和及添加新行与列示例

    本文介绍的是python中pandas.DataFrame对行与列求和及添加新行与列的相关资料,下面话不多说,来看看详细的介绍吧. 方法如下: 导入模块: from pandas import DataFrame import pandas as pd import numpy as np 生成DataFrame数据 df = DataFrame(np.random.randn(4, 5), columns=['A', 'B', 'C', 'D', 'E']) DataFrame数据预览: A

  • Python利用pandas计算多个CSV文件数据值的实例

    功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件 pip install pandas import pandas as pd import glob,os,sys input_path='./' output_fiel='pandas_union_concat.csv' all_files=glob.glob(os.path.join(input_path,'sales_*')) all_data_frames=[] for file in all_files:

  • Python Pandas 获取列匹配特定值的行的索引问题

    给定一个带有列"BoolCol"的DataFrame,如何找到满足条件"BoolCol" == True的DataFrame的索引 目前有迭代的方式来做到这一点: for i in range(100,3000): if df.iloc[i]['BoolCol']== True: print i,df.iloc[i]['BoolCol'] 这虽然可行,但不是标准的 Pandas 方式.经过一番研究,我目前正在使用这个代码: df[df['BoolCol'] == T

  • Python pandas.DataFrame 找出有空值的行

    0.摘要 pandas中DataFrame类型中,找出所有有空值的行,可以使用.isnull()方法和.any()方法. 1.找出含有空值的行 方法:DataFrame[DataFrame.isnull().T.any()] 其中,isnull()能够判断数据中元素是否为空值:T为转置:any()判断该行是否有空值. import pandas as pd import numpy as np n = np.arange(20, dtype=float).reshape(5,4) n[2,3]

  • python计算文本文件行数的方法

    本文实例讲述了python计算文本文件行数的方法.分享给大家供大家参考.具体实现方法如下: filename = "somefile.txt" myfile = open(filename) lines = len(myfile.readlines()) print "There are %d lines in %s" % (lines, filename) 希望本文所述对大家的Python程序设计有所帮助.

随机推荐