【发布时间】:2016-08-08 15:08:23
【问题描述】:
我是 python 新手,最近学会了使用 Pandas 在 python 中创建一个系列。我可以定义一个系列,例如:x = pd.Series([1, 2, 3, 4, 5]) 但如何定义一个范围的系列,比如 1 到 100,而不是输入从 1 到 100 的所有元素?
【问题讨论】:
标签: python python-3.x pandas range series
我是 python 新手,最近学会了使用 Pandas 在 python 中创建一个系列。我可以定义一个系列,例如:x = pd.Series([1, 2, 3, 4, 5]) 但如何定义一个范围的系列,比如 1 到 100,而不是输入从 1 到 100 的所有元素?
【问题讨论】:
标签: python python-3.x pandas range series
试试pd.Series([0 for i in range(20)])。
它将创建一个 20 行的 pd 系列
【讨论】:
pd.Series(range(20))
还有这个:
one_to_hundred = pd.RangeIndex(1, 101).to_series()
我仍在寻找一个可以直接创建包含数字范围(序列)的系列的 pandas 函数,但我认为它不存在。
【讨论】:
num=np.arange(1,101)
s=pd.Series(num)
查看解决方案只需更改您想要的任何内容。有关 np.arange 的详细信息,请参见 下面的链接 https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.arange.html
【讨论】:
one_to_hundred=pd.Series(np.arange(1,101,1))
这是正确的答案,您可以使用 numpy arange 函数创建一个系列,该函数通过递增 1 创建一个从 1 到 100 的范围。
【讨论】:
如the docs for pandas.Series 中所见,data 参数所需的只是类数组、字典或标量值。因此,要为范围创建系列,您可以执行与为范围创建列表完全相同的操作。
one_to_hundred = pd.Series(range(1,101))
【讨论】: