Как сделать DataFrame из списка кортежей - PullRequest
0 голосов
/ 16 мая 2018

У меня есть список кортежей:

tup= [((1,1),(1,2)),((2,1),(2,2))]

Теперь мне нужно создать DataFrame для каждого экземпляра этого кортежа

pd.DataFrame(tup)

        0       1
0  (1, 1)  (1, 2)
1  (2, 1)  (2, 2)

Однако я хочу 4 таких столбца:

   0  1  2  3
0  1  1  1  2
1  2  1  2  2

Мои навыки в Python несколько ограничены, но улучшаются ...

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Вы можете просто расширить кортежи с помощью понимания списка:

df = pd.DataFrame([[a, b, c, d] for ((a, b), (c, d)) in tup])
print(df)
0 голосов
/ 16 мая 2018

Это один из способов использования понимания списка вместе с itertools.chain:

from itertools import chain

tup = [((1,1),(1,2)),((2,1),(2,2))]

df = pd.DataFrame([list(chain.from_iterable(i)) for i in tup])

print(df)

   0  1  2  3
0  1  1  1  2
1  2  1  2  2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...