Вот как я обычно это делаю:
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), если вы хотите, чтобы только дети из ваша основная форма.
Я думаю, что, возможно, есть лучший способ, но будет работать следующее:
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']
blockquote>
Используя 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()