Как создать фрейм данных с несколькими списками / массивами в Python - PullRequest
2 голосов
/ 19 июня 2019

У меня много списков, состоящих из 1d данных.как показано ниже:

list1 = [1,2,3,4...]
list2 = ['a','b','c'...] 

Теперь мне нужно создать фрейм данных, как показано ниже:

df = [[1,'a'],[2,'b'],[3,'c']]

Мне нужен этот фрейм данных, чтобы я мог профилировать каждый столбец с помощью pandas_profiling.Пожалуйста, предложите.

Я пытался

list1+list2

, но его данные, как показано ниже:

list3=[1,2,3,4...'a','b'...]

тоже использовал numpy hpstack, но не работает

import pandas as pd
import pandas_profiling
import numpy as np

list3 = np.hstack([[list1],[list2]])

array([[1,2,3,4,'a','b','c'..]],dtype='<U5')

Ответы [ 2 ]

1 голос
/ 19 июня 2019

Вы можете сделать так:

import pandas as pd

list1 = [1,2,3,4]
list2 = ['a','b','c','d']
list3 = zip(list1, list2)
df = pd.DataFrame(list3, columns=('list1', 'list2'))
print (df)

Выход:

   list1 list2
0      1     a
1      2     b
2      3     c
3      4     d
0 голосов
/ 19 июня 2019

Вы можете использовать функцию zip , описанную в ответе на этот вопрос , чтобы создать свой вложенный список.

Следует отметить, что вы не можете использовать функцию zip напрямую, так как это может привести к ошибке .

Решение будет:

import pandas as pd

list1 = [1,2,3]
list2 = ['a','b','c']
df = pd.DataFrame(list(zip(list1,list2)), columns=['list1', 'list2'])
...