Xue*_*hao 7 python iteration performance numpy pandas
我有一个像下面这样的熊猫系列:
a = pd.Series([a1, a2, a3, a4, ...])
我想根据以下规则创建另一个熊猫系列:
b = pd.Series(a1, a2+a1**0.8, a3 + (a2 + a1**0.8)**0.8, a4 + (a3 + (a2 + a1**0.8)**0.8)**0.8, ...).
这是可行的使用迭代,但我有一个大型数据集(数百万条记录),我必须执行数千次操作(出于优化目的).我需要非常快速地完成这项操作.有没有可能通过使用pandas或numpy内置函数来实现这一点?
您可以使用递归函数,它将在 O(log(n)) 时间内运行
def my_func(x):
if len(x) == 1:
b.append(x[0])
return x[0]
element = x[-1]+0.8*my_func(x[:-1])
b.append(element)
return element
b= []
my_func(list(a))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
190 次 |
| 最近记录: |