Python 我们可以使用pandas数据帧来使用前一个值计算下一个值吗?斐波那契数就是一个很好的例子

Python 我们可以使用pandas数据帧来使用前一个值计算下一个值吗?斐波那契数就是一个很好的例子,python,pandas,fibonacci,Python,Pandas,Fibonacci,所以我知道我们可以使用熊猫数据帧对细胞进行向量运算,比如 df = pd.Dataframe([a, b, c]) df*3 这等于: 0 a*3 1 b*3 2 c*3 但是我们可以用熊猫数据框来计算斐波那契序列吗? 我这样问是因为对于斐波那契序列,下一个数取决于前两个数(F_n=F_(n-1)+F_(n-2))。我对斐波那契序列并不感兴趣,更感兴趣的是知道我们是否可以做如下事情: df = pd.DataFrame([a,b,c]) df.apply( some_func ) 0 x1

所以我知道我们可以使用熊猫数据帧对细胞进行向量运算,比如

df = pd.Dataframe([a, b, c])
df*3
这等于:

0 a*3
1 b*3
2 c*3
但是我们可以用熊猫数据框来计算斐波那契序列吗? 我这样问是因为对于斐波那契序列,下一个数取决于前两个数(F_n=F_(n-1)+F_(n-2))。我对斐波那契序列并不感兴趣,更感兴趣的是知道我们是否可以做如下事情:

df = pd.DataFrame([a,b,c])
df.apply( some_func )

0 x1 a
1 x2 b
2 x3 c
其中x1将由a,b,c计算(我知道这是可能的),x2将由x1计算,x3将由x2计算

斐波那契的例子如下:

df = pd.DataFrame()
df.apply(fib(n, df))

0 0
1 1
2 1
3 2
4 2
5 5 
.
.
.
n-1 F(n-1) + F(n-2) 

您需要遍历这些行,并通过数据访问以前的行。例如,n=6

df=pd.DataFrame()
对于范围(0,6)内的i:
df.loc[i,'f']=i如果i在[0,1]中,则为df.loc[i-1,'f']+df.loc[i-2,'f']
df
F
0  0.0
1  1.0
2  1.0
3  2.0
4  3.0
5  5.0

Fibonacci序列将新的数字追加到数据帧,这与3的乘法不同。而且,这是一个永无止境的序列。如果希望将其作为新数据帧,则始终可以创建斐波那契序列列表,并将其用作数据帧的列