Список серий в датафреймы - PullRequest
2 голосов
/ 02 апреля 2019

У меня есть список с объектами Pandas Series, которые я создал, выполнив что-то вроде этого:

li = []
li.append(input_df.iloc[0])
li.append(input_df.iloc[4])

, где input_df - это панда Dataframe

Я хочу преобразовать этот список Series объектов обратно в объект Pandas Dataframe, и мне было интересно, есть ли какой-нибудь простой способ сделать это

Ответы [ 3 ]

3 голосов
/ 02 апреля 2019

Исходя из сообщения, вы можете сделать это, выполнив:

pd.Dataframe(li)

Всем, кто предлагает pd.concat, это уже не Series. Они добавляют значения в список, а тип данных для li является списком. Таким образом, чтобы преобразовать список в фрейм данных, они должны использовать pd.Dataframe(<list name>).

1 голос
/ 02 апреля 2019

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

import pandas as pd
input_df = pd.DataFrame(data={'1': [1,2,3,4,5]
                          ,'2': [1,2,3,4,5]
                          ,'3': [1,2,3,4,5]
                          ,'4': [1,2,3,4,5]
                          ,'5': [1,2,3,4,5]})

Используя pd.DataFrame, вы сможете создать новый фрейм данных, который объединяет два выбранных вами списка:

li = []
li.append(input_df.iloc[0])
li.append(input_df.iloc[4])
new_df = pd.DataFrame(li)

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

new_df = input_df.iloc[0].append(input_df.iloc[4])

Дайте мне знать, если это ответит на ваш вопрос.

0 голосов
/ 15 июля 2019

Поскольку правильный ответ скрыт в комментариях, я подумал, что было бы лучше упомянуть его в качестве ответа:

pd.concat(li, axis=1).T}

преобразует список li серий в датафрейм

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