gpt4 book ai didi

python - Pandas Series 参数函数内存

转载 作者:行者123 更新时间:2023-12-05 05:17:21 29 4
gpt4 key购买 nike

我想内存一个带有可变参数的函数(Pandas Series 对象)。有什么办法可以做到这一点?

这是一个简单的斐波那契示例,参数是 Pandas 系列,其中第一个元素代表序列的索引。

例子:

from functools import lru_cache

@lru_cache(maxsize=None)
def fib(n):
if n.iloc[0] == 1 or n.iloc[0] == 2:
return 1
min1 = n.copy()
min1.iloc[0] -=1
min2 = n.copy()
min2.iloc[0] -= 2
return fib(min1) + fib(min2)

调用函数:

fib(pd.Series([15,0]))

结果:

TypeError: 'Series' objects are mutable, thus they cannot be hashed

预期用途更复杂,所以我发布了这个无用但简单的示例。

最佳答案

几个选项:

  • 将可变对象转换为不可变对象(immutable对象),例如字符串或元组。
  • 创建可变对象的散列并将其用作备忘录字典键。哈希冲突的风险。
  • 创建一个实现 __hash__() 函数的不可变子类。

关于python - Pandas Series 参数函数内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49341568/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com