- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
假设我们有一个数据框,我们计算行之间的百分比变化
y_axis = [1,2,3,4,5,6,7,8,9]
x_axis = [100,105,115,95,90,88,110,100,0]
DF = pd.DataFrame({'Y':y_axis, 'X':x_axis})
DF = DF[['Y','X']]
DF['PCT'] = DF['X'].pct_change()
Y X PCT
0 1 100 NaN
1 2 105 0.050000
2 3 115 0.095238
3 4 95 -0.173913
4 5 90 -0.052632
5 6 88 -0.022222
6 7 110 0.250000
7 8 100 -0.090909
8 9 0 -1.000000
这样它就从第一行开始。我想从最后一行开始计算 pct_change()
。
一种方法
DF['Reverse'] = list(reversed(x_axis))
DF['PCT_rev'] = DF['Reverse'].pct_change()
pct_rev = DF.PCT_rev.tolist()
DF['_PCT_'] = list(reversed(pct_rev))
DF2 = DF[['Y','X','PCT','_PCT_']]
Y X PCT _PCT_
0 1 100 NaN -0.047619
1 2 105 0.050000 -0.086957
2 3 115 0.095238 0.210526
3 4 95 -0.173913 0.055556
4 5 90 -0.052632 0.022727
5 6 88 -0.022222 -0.200000
6 7 110 0.250000 0.100000
7 8 100 -0.090909 inf
8 9 0 -1.000000 NaN
但这是一个非常丑陋且低效的解决方案。我想知道是否有更优雅的解决方案?
最佳答案
DF.assign(_PCT_=DF.X.pct_change(-1))
Y X PCT _PCT_
0 1 100 NaN -0.047619
1 2 105 0.050000 -0.086957
2 3 115 0.095238 0.210526
3 4 95 -0.173913 0.055556
4 5 90 -0.052632 0.022727
5 6 88 -0.022222 -0.200000
6 7 110 0.250000 0.100000
7 8 100 -0.090909 inf
8 9 0 -1.000000 NaN
Series.pct_change(periods=1, fill_method='pad', limit=None, freq=None, **kwargs)
periods : int, default 1 Periods to shift for forming percent change
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.pct_change.html
关于python - Pandas pct_change() 反向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47647410/
我是 Dask 的新手。我有一个 Pandas df,它的排序 DateTimeIndex 大小约为。 30M 行。我正在尝试在 dask 中执行此 Pandas 操作(bc 分组在 Pandas 中
我正在计算面板数据集的百分比变化,它既有正值也有负值。如果 n 和 n+1 date 的值都是负数并且 n > n+1 的值,例如,n=-2,n+1=-4。计算的百分比变化是 ((n+1)-n)/n=
我正在计算面板数据集的百分比变化,它既有正值也有负值。如果 n 和 n+1 date 的值都是负数并且 n > n+1 的值,例如,n=-2,n+1=-4。计算的百分比变化是 ((n+1)-n)/n=
Using Pandas documentation http://pandas.pydata.org/pandas-docs/version/0.13.1/generated/pandas.Data
我正在尝试计算 Pandas 系列中的 pct_change,但不是以计算相邻元素之间变化的常规方式,而是在相隔两个位置的元素内计算变化。 例如: pd.Series([1, 2, 3, 4, 5,
我试图自己解决这个问题,并搜索了其他主题寻求帮助,但我的问题仍然存在。如果有人可以帮助我或为我指明正确的方向,我将不胜感激 我对 python 相当陌生,我正在尝试对 Pandas 数据框执行一些更改
任何人都可以解释为什么 pct_change 函数在使用更多手动计算时给出的数字略有不同: pct_change函数: print(prices) 0
我有一个脚本一直搞砸了,我不确定来源是什么。它似乎有时有效,但有时无效。这是一个例子。 In [29]: pricesEquities=financialMarketPrices['equities'
我有一个数据框: import pandas as pd df = pd.DataFrame([['A', 'G1', '2019-01-01', 11], ['A', 'G
假设我们有一个数据框,我们计算行之间的百分比变化 y_axis = [1,2,3,4,5,6,7,8,9] x_axis = [100,105,115,95,90,88,110,100,0] DF =
我有一个数据框: date value 0 2017-11-30 13:58:57 901 1 2017-11-30 13:59:41 905 2 20
对于每个组city和district在下面的数据框中,我想使用 price 2019-03 的值作为基值,计算 2019-06和2019-12月price与 2019-03 中的值相比,值发生百分比变
我的数据框是这样的: Date_Time Open Close 0 2004-05-10 16:00:00 12.88 12.54 1 2004-0
我有计算导数的季度时间序列数据。问题是,原始数据在时间序列上存在差距。因此,如果我试图找出一个变量的四分之一百分比变化,有时它不会意识到它正在计算比一个季度长得多的时间段的百分比变化。我如何确保 pc
我有以下数据: 20.4417 20.5679 20.0826 20.9950 20.0244 19.1702 19.3546 19.1702 19.7138 19.3546 我想知道第一个值 20.
我有这个: df['new'] = df[['col1', 'col2']].pct_change(axis=1) 我想要 col1 和 col2 中各行的百分比变化。但是我收到错误: ValueEr
我可能在使用非标准函数重新采样数据时遇到问题。m 数据的头部现在看起来像这样: Time 2009-01-30 09:30:00 84.9800 2009-01-30 09:39:00 8
使用下面的代码,我试图检查数字列的百分比变化: import pandas as pd df = pd.read_csv('./data.txt') df.pct_change(1) 数据.txt :
我知道可以使用 periods 参数进行抵消,但是如何返回分布在一个月(例如交易日)中的每日价格数据? 示例数据是: In [1]: df.AAPL 2009-01-02 16:00:00 90
对于数据框如下: type price pct date 0 a 10918.0 NaN 2019/6/1 1 a NaN
我是一名优秀的程序员,十分优秀!