如何创建一个从 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.arange
和range
的区别
为了让这个答案简短,我宁愿参考这个 answer @hpaulj
我相信这不难,但我想不通!
我想创建一个数据框,第一行从 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.arange
和range
的区别
为了让这个答案简短,我宁愿参考这个 answer @hpaulj