所以我试图生成包含3列的虚拟数据:价格,价格,价格.对于前两个,这是纯粹的数字,这是好的.我在Electron 表格上有50,000行数据.但是,当我添加Borough并从列表中指定随机值时,我会收到以下输出:

       Sq. feet    Price  Borough
0           112   345382        5
1           310   901500        5
2           215   661033        5
3           147  1038431        5
4           212   296497        5

我还没有使用过像np.random.randint这样与数字生成相关的程序包

相反,我用了"Borough" : random.randrange(len(word))

我哪里错了?

下面是我的代码

import random

import pandas as pd
import numpy as np

WORDS = ["Chelsea", "Kensington", "Westminster", "Pimlico", "Bank", "Holborn", "Camden", "Islington", "Angel", "Battersea", "Knightsbridge", "Bermondsey", "Newham"]
word = random.choice(WORDS)
np.random.seed(1)
data3 = pd.DataFrame({"Sq. feet" : np.random.randint(low=75, high=325, size=50000),
                     "Price" : np.random.randint(low=200000, high=1250000, size=50000),
                      "Borough" : random.randrange(len(word))
                     })

df = pd.DataFrame(data3)
df.to_csv("/Users/thomasmcnally/PycharmProjects/real_estate_dummy_date/realestate.csv", index=False)

print(df)

我希望从单词[]中随机得到一行字值,而返回值只是数字5.仅为基于文本的数据创建另一个模块并将它们打印在不同的文件中显然是没有意义的.

推荐答案

我猜你想要从单词中生成一个包含5万个随机 Select 的列表--这些单词本身可以重新命名为Boroughes:

import random
import pandas as pd
import numpy as np

SIZE = 50_000
BOROUGHS = ["Chelsea", "Kensington", "Westminster", "Pimlico", "Bank", "Holborn", "Camden", "Islington", "Angel", "Battersea", "Knightsbridge", "Bermondsey", "Newham"]

np.random.seed(1)
data3 = pd.DataFrame({"Sq. feet" : np.random.randint(low=75, high=325, size=SIZE),
  "Price" : np.random.randint(low=200000, high=1250000, size=SIZE),
  "Borough" : [random.choice(BOROUGHS) for _ in range(SIZE)]
})

df = pd.DataFrame(data3)
df.to_csv("realestate.csv", index=False)
print(df)

Output

       Sq. feet    Price      Borough
0           112   345382      Pimlico
1           310   901500    Battersea
2           215   661033      Holborn
3           147  1038431  Westminster
4           212   296497      Holborn
...         ...      ...          ...
49995       252  1065034      Holborn
49996       117   752615      Holborn
49997       238   803058       Camden
49998       147  1163555         Bank
49999       269   888623  Westminster

撇开...无论您的代码中有一个重复的数字,比如50,000,通常将其作为变量并在顶部声明它是一个好主意,然后可以更改它,而不会给一些贫穷的future 程序员带来维护噩梦,因为他们会到处寻找50,000的每一个出现的地方.

如果你想了解它们,这个 struct 被称为"list comprehension":

[random.choice(BOROUGHS) for _ in range(SIZE)]

Python相关问答推荐

customtkinter中使用的这个小部件的名称是什么

使用Beautiful Soup获取第二个srcset属性

NumPy中的右矩阵划分,还有比NP.linalg.inv()更好的方法吗?

按照行主要蛇扫描顺序对点列表进行排序

将HTML输出转换为表格中的问题

LAB中的增强数组

如何在python xsModel库中定义一个可选[December]字段,以产生受约束的SON模式

如何在Python数据框架中加速序列的符号化

pyscript中的压痕问题

创建可序列化数据模型的最佳方法

当点击tkinter菜单而不是菜单选项时,如何执行命令?

未知依赖项pin—1阻止conda安装""

计算天数

Polars asof在下一个可用日期加入

如何使用Numpy. stracards重新编写滚动和?

为什么if2/if3会提供两种不同的输出?

Pandas:计算中间时间条目的总时间增量

使用Openpyxl从Excel中的折线图更改图表样式

Python pint将1/华氏度转换为1/摄氏度°°

统计numpy. ndarray中的项目列表出现次数的最快方法