Home > front end >  How to generate pandas geometric sequence (n) where the sequence starts at [1] and [0] is outside of
How to generate pandas geometric sequence (n) where the sequence starts at [1] and [0] is outside of

Time:10-02

I want to create the following pandas dataframe:

          os
0  10.000000 <- var1
1  15.000000 <- var2
2  16.500000 <- var2*r
3  18.150000 <- var2*r*r
4  19.965000
5  21.961500
6  24.157650
7  26.573415

My Code:

v = 7
n = np.arange(v   1)

var1 = 10
var2 = 15
r = 1.1

df = pd.DataFrame(
    {
        "os": var2 * r ** n-1
    }
)

print(df)

My Output:

          os
0  14.000000
1  15.500000
2  17.150000
3  18.965000
4  20.961500
5  23.157650
6  25.573415
7  28.230757

How to shift everything down (or in another way) and have my var1 at [0]? And is it possible to have it in one line of code?

CodePudding user response:

Use numpy.r_ for concatenation of your var1:

v = 7
n = np.arange(v)  # don't use  1 here

var1 = 10
var2 = 15
r = 1.1

df = pd.DataFrame({'os': np.r_[var1, var2 * r **n]})

output:

          os
0  10.000000
1  15.000000
2  16.500000
3  18.150000
4  19.965000
5  21.961500
6  24.157650
7  26.573415
  • Related