Не передавайте значения в виде «списков списков», т.е. удаляйте внешние [ ]
:
raw_data={'Name': personList,
'Age': ageList,
'Weight': weightList,
'Height': heightList}
df = pd.DataFrame(raw_data)
Для вывода в формате csv используйте:
df.to_csv('./filename.csv')
[вне]
Name Age Weight Height
0 person0 23 59 158
1 person1 50 66 199
2 person2 18 100 183
3 person3 4 60 144
4 person4 14 123 188
5 person5 12 40 141
6 person6 44 65 171
7 person7 50 96 166
8 person8 82 114 166
9 person9 86 142 178
10 person10 51 93 142
11 person11 1 59 166
12 person12 61 138 152
13 person13 46 92 164
14 person14 25 103 195
15 person15 24 42 150
16 person16 33 123 186
17 person17 44 64 193
18 person18 40 118 159
19 person19 25 134 196
20 person20 5 117 178
...
Альтернативный подход заключается в использовании numpy.random
, где большинство методов имеют параметр size
:
import random
import pandas as pd
import numpy as np
person="person"
n = 100
personList = [person+str(i) for i in range(n)]
ageList = np.random.randint(1,90, size=n)
weightList = np.random.randint(40,150, size=n)
heightList = np.random.randint(140,210, size=n)
raw_data={'Name': personList,
'Age': ageList,
'Weight': weightList,
'Height': heightList}
df = pd.DataFrame(raw_data)