生成数据框,但只得到 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)
我想在 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)