Как создать фрейм данных с несколькими списками / массивами в Python

У меня есть много списков, который состоит из 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 ответа

Решение

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

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

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

import pandas as pd

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

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

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
Другие вопросы по тегам