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