如何创建一个从 1 到 100,000 的数据框?

How Do I Create a Dataframe from 1 to 100,000?

我相信这不难,但我想不通!

我想创建一个数据框,第一行从 1 开始,到 100,000 结束,增量为 1、2、4、5 或其他。我可以在 Excel 的睡眠中执行此操作,但是有没有一种巧妙的方法可以在不导入 .csv 或 .txt 文件的情况下执行此操作?

我需要多次执行此操作,最后决定导入 .csv,但我对此感到厌烦。

Example in Excel

生成数字

生成数字并不是 pandas 的特殊功能,而是 numpy 模块或 range 函数(如@Grismer 所述)可以做到这一点。假设您要生成一系列数字并将这些数字分配给数据框。正如我之前所说,有多种方法,我个人更喜欢其中两种。

  • range 函数

range(1,1000,1)为例。此函数获取三个参数,其中两个不是必需的。第一个参数定义开始编号,第二个参数定义结束编号,最后一个指向这个范围的步骤。所以上面提到的例子会得到数字 1 到 9999(注意这个范围是一个 half-open 区间,开始时关闭,结束时打开)。

  • numpy.arange 函数

要得到和前面例子一样的结果,以numpy.arange(1,1000,1)为例。参数与range的参数完全相同。

分配给数据框

现在,如果你想将这些数字分配给数据框,你可以使用 pandas 模块轻松完成。下面的代码是如何生成数据框的示例:

import numpy as np
import pandas as pd
myRange = np.arange(1,1001,1) # Could be something like myRange = range(1,1000,1)
df = pd.DataFrame({"numbers": myRange})
df.head(5)

这会产生如下数据框(请注意,只显示了前五行):

numbers
0 1
1 2
2 3
3 4
4 5

numpy.arangerange

的区别

为了让这个答案简短,我宁愿参考这个 answer @hpaulj