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?
5 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))

- 28,857
- 6
- 80
- 93
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.

- 5,753
- 72
- 57
- 129

- 161
- 1
- 2
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.

- 17,670
- 5
- 28
- 45
try pd.Series([0 for i in range(20)])
.
It will create a pd series with 20 rows

- 2,890
- 20
- 28
- 35

- 21
- 1
-
3list comprehension is unnecessary in this case -- can just do `pd.Series(range(20))` – tdy Jul 03 '21 at 05:34
-
This creates a series with 20 zeroes. You need `[i for i in range(20)]`. Or just `list(range(20))` or `range(20)`. – Matthias Fripp Feb 02 '23 at 17:43
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