Конвертировать Pandas DataFrame в список

Вот как я обычно это делаю:

For Each f As Form In Application.OpenForms
  If TypeOf f Is frmTest Then
    f.Activate()
    Exit Sub
  End If
Next

Dim myChild As New frmTest 
myChild.MdiParent = Me
myChild.Show()

Обратите внимание, что это использует Application.OpenForms, вы можете использовать Me.MdiChildren (при условии, что Me = эта форма MDI), если вы хотите, чтобы только дети из ваша основная форма.

1
задан 1TonDan 17 February 2019 в 20:06
поделиться

2 ответа

Я думаю, что, возможно, есть лучший способ, но будет работать следующее:

import pandas as pd

df = pd.DataFrame({'a': range(0, 10), 'b': range(10, 20), 'c': range(20, 30)})

mylist = list()
for i in df.columns:
    mylist += map(str, df[i].values.tolist())
print(mylist)

Вывод:

['0', '1', '2' , «3», «4», «5», «6», «7», «8», «9», «10», «11», «12», «13», «14», « 15 ',' 16 ',' 17 ',' 18 ',' 19 ',' 20 ',' 21 ',' 22 ',' 23 ',' 24 ',' 25 ',' 26 ',' 27 ' , '28', '29']

0
ответ дан Jack Moody 17 February 2019 в 20:06
поделиться

Используя numpy:

list(np.reshape(df.values, -1, order='F'))

Ваш df имеет форму (10,3), а вам нужна форма (30,). Вы можете достичь этого с помощью numpy.

-1 - просто сокращение для (30,) в этом случае.

order='F' гарантирует, что вы получите значения «по столбцам», как было представлено в желаемом выводе.

Используя методы NumPy через tolist , вы можете использовать:

df.values.reshape(-1, order='F').tolist()
0
ответ дан jpp 17 February 2019 в 20:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: