- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Dask 的新手。我有一个 Pandas df,它的排序 DateTimeIndex 大小约为。 30M 行。我正在尝试在 dask 中执行此 Pandas 操作(bc 分组在 Pandas 中很昂贵)
df0['close_pct_change'] = df0.groupby('tic').close.pct_change(periods=1).dropna()
换句话说,按
tic
对数据进行分组然后找到连续(周期 = 1)价格变化,它在时间上单调增加(因为索引是一个排序的 DateTimeIndex)。我的 dask 代码是:
import dask
from dask.distributed import Client,progress
import dask.dataframe as dd
client = Client(n_workers=4, threads_per_worker=2, memory_limit='8GB')
df = dd.from_pandas(df0, npartitions=10)
df = df.persist()
df.groupby('tic', dropna=True).close.pct_change(1)
但是,我收到以下错误:
AttributeError: 'SeriesGroupBy' object has no attribute 'pct_change'
我不明白。我以为
pct_change
是一个系列函数。
df.groupby(columns_no_index).apply(user_fn)
需要洗牌,但
df.groupby(columns_with_index).apply(user_fn))
快得多。因此这种聚合有效
dask_job = df0 \
.set_index('tic')\
.pipe(dd.from_pandas, npartitions=20)\
.groupby(['tic']) \
.apply(lambda x: x.close.pct_change(1))
但是,上面返回一个带有
tic
的多索引。作为 level1 和 level2 索引,而我们关心 DateTimeIndex 作为第二个索引(例如 level1=tic、level2=DatetimeIndex、level3=precent_change。)
pct_change
如
df.groupby('tic',dropna=True).close.transform(lambda x: x.diff(1)/x, meta=('close_pct_change', 'f8'))
我收到以下错误:
ValueError: Length mismatch: Expected axis has 183100 elements, new values have 183921 elements
我不清楚为什么
最佳答案
根据您的评论,这只是一个间接解决方案,但它应该有效:
.gz
文件转换成一组基于tic
的文件. tic
基于文件,您现在可以拥有一个加载文件并在其上运行 Pandas 的函数。 from dask import delayed
@delayed
def process_file(path_to_file):
df = pd.read_csv(path_to_file) # parquet is probably better, but that's not important
df['close_pct_change'] = df.groupby('tic').close.pct_change(periods=1).dropna()
return df
results = dask.compute([process_file(f) for f in file_list])
关于Dask pct_change,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66069545/
我是 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
我是一名优秀的程序员,十分优秀!