在python中,如何引用上一行并针对它计算一些内容?具体来说,我有工作dataframes
在pandas
-我有一个数据帧全的股票价格信息,看起来像这样:
Date Close Adj Close
251 2011-01-03 147.48 143.25
250 2011-01-04 147.64 143.41
249 2011-01-05 147.05 142.83
248 2011-01-06 148.66 144.40
247 2011-01-07 147.93 143.69
这是我创建此数据框的方法:
import pandas
url = 'http://ichart.finance.yahoo.com/table.csv?s=IBM&a=00&b=1&c=2011&d=11&e=31&f=2011&g=d&ignore=.csv'
data = data = pandas.read_csv(url)
## now I sorted the data frame ascending by date
data = data.sort(columns='Date')
从第2行开始,或者在这种情况下,我想是250(PS-
是索引吗?),我想为此数据帧中的每个条目计算2011-01-03和2011-01-04之间的差。我相信适当的方法是编写一个函数,该函数采用当前行,然后找出前一行,并计算它们之间的差,然后使用该pandas
apply
函数用值更新数据帧。
那是正确的方法吗?如果是这样,我是否应该使用索引来确定差异?(注意-
我仍处于python初学者模式,因此index可能不是正确的术语,甚至不是实现此目标的正确方法)
我认为您想做这样的事情:
In [26]: data
Out[26]:
Date Close Adj Close
251 2011-01-03 147.48 143.25
250 2011-01-04 147.64 143.41
249 2011-01-05 147.05 142.83
248 2011-01-06 148.66 144.40
247 2011-01-07 147.93 143.69
In [27]: data.set_index('Date').diff()
Out[27]:
Close Adj Close
Date
2011-01-03 NaN NaN
2011-01-04 0.16 0.16
2011-01-05 -0.59 -0.58
2011-01-06 1.61 1.57
2011-01-07 -0.73 -0.71
问题内容: 我有一个熊猫数据框如下 上面的数据帧有83000行。我想获取两个连续行之间的时间差,并将其保存在单独的列中。理想的结果是 我已经尝试过但出现错误,如下所示 如何解决这个问题 问题答案: 问题是功能需要s或s ,因此首先要转换为,然后得到并除以: 如果需要或每分钟:
问题内容: 我有一个带有StartDate列的表,我想计算两个连续记录之间的时间差。 谢谢。 @ Mark Byers和@ Yahia,我将请求表作为requestId,startdate 我想知道requestid 1和2、2和3、3和4等之间的时差是多少。我知道我需要在表上进行自我连接,但是我在子句上没有得到正确的支持。 问题答案: 要实现您的要求,请尝试以下操作(从OP编辑后进行更新): 如
问题内容: 我有两个字符串变量,例如StartTime和EndTime。我需要通过用StartTime减去EndTime来计算TotalTime。 StartTime和EndTime的格式如下: TotalTime(小时和分钟格式)。如何在Android中计算? 问题答案: 尝试下面的代码。 //假设时间格式为 (“ hh:mm a”) 格式 输出 -小时数:: 8
我有一些本地json文件。例如: JSON 1 JSON 1修改 我必须比较这些Json文件(在这个示例中,姓名字段、姓氏字段、年龄字段和文本字段被修改),我必须计算它们之间的差异百分比(绘制饼图或任何其他图形)。有办法做到这一点吗?
我正在尝试编写一个方法来打印两个ZonedDateTimes之间的时间差,关于时区之间的差异。 我找到了一些解决方案,但它们都是为使用LocalDateTime而编写的。
问题内容: 我有一个数据帧,有三列:,和; 计数是浮点数,日期是2015年的连续几天。 我试图找出和列中每一天的计数之间的差异,这意味着,我试图计算这两列的每一行与上一行之间的差异。我已经将日期设置为索引,但是却很难弄清楚该如何做。关于使用有一些提示,但是我没有运气找到合适的答案或说明。 我有点受阻,不胜感激这里的一些指导。 这是我的数据框的样子: 问题答案: 应该给出期望的结果: