生成数据框,但只得到 1 行

Generating data frames, but only getting 1 row

我想在 Python 中使用 faker 库创建一个数据框,但我只能得到一行,不明白代码中的问题是什么。这是相同的:

import pandas as pd

for dat in range(int(input())):
    dat = [[fake.email(),fake.phone_number(),fake.address(),fake.name(),fake.date(),fake.pyint(0,3)]]

v = pd.DataFrame(dat, columns=['Email','PhNo','Address','Name','Date','Children']) 

如果我通过打印或 head 函数查看 v 中的列,我只能看到 1 行。 我希望根据用户输入查看整个行数,如果是 3,那么应该有 3 行。

您在每个循环中覆盖 dat。您需要将新数据附加到现有数据:

dat = []
for _ in range(int(input())):
   dat.append([fake.email(), fake.phone_number(), fake.address(), fake.name(), fake.date(), fake.pyint(0,3)])

您只是在每次迭代中更新 'dat' 值。先创建列表,再添加数据。

import pandas as pd
from faker import Faker
fake = Faker()
dat = []
for i in range(int(input())):
dat.append([fake.email(),fake.phone_number(),fake.address(),fake.name(),fake.date(),fake.pyint(0,3)])

v= pd.DataFrame(dat, columns =['Email','PhNo','Address','Name','Date','Children'])
print(v)