How to create a series of numbers using Pandas in Python

Question:

I am new to python and have recently learnt to create a series in python using Pandas. I can define a series eg: x = pd.Series([1, 2, 3, 4, 5]) but how to define the series for a range, say 1 to 100 rather than typing all elements from 1 to 100?

Asked By: MrCurious

||

Answers:

As seen in the docs for pandas.Series, all that is required for your data parameter is an array-like, dict, or scalar value. Hence to create a series for a range, you can do exactly the same as you would to create a list for a range.

one_to_hundred = pd.Series(range(1,101))
Answered By: miradulo
one_to_hundred=pd.Series(np.arange(1,101,1))

This is the correct answer where you create a series using the numpy arange function which creates a range starting with 1 till 100 by incrementing 1.

Answered By: Sowmya Pai
num=np.arange(1,101)

s = pd.Series(num)

see the solution just change whatever you want. and for details about np.arange see
below link
https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.arange.html

Answered By: Shaonsani

There’s also this:

one_to_hundred = pd.RangeIndex(1, 101).to_series()

I’m still looking for a pandas function that creates a series containing a range (sequence) of numbers directly, but I don’t think it exists.

Answered By: Matthias Fripp

try pd.Series([0 for i in range(20)]).
It will create a pd series with 20 rows

Answered By: Thierry Bienvenu