Принять на вход строки и сформировать DataFrame

на вход подается число n - это кол-во строк с данными для построения таблицы

далее на вход подаются n строк вида: column_name_1 data_1 ... data_n

Кол-во строк может меняться, подскажите пожалуйста как с учетом этого принять строки и сформировать датаframe? (Наверное с помощью цикла, но у меня не получается правильно алгоритм прописать)

пробовал так, выдает ошибку

import pandas as pd
n = int(input()) 
for _ in range(n):
    df = pd.DataFrame(input()) 

Ответы (3 шт):

Автор решения: web developer

Используйте io.StringIO(string)with string в качестве строки данных для получения StringIOобъекта. Чтобы создать DataFrame, используйте pandas.read_csv(filepath_or_buffer, sep=delimiter)with filepath_or_bufferв качестве предыдущего результата и sepназначьте его символу, разделяющему каждую запись строки в string.

    data_string = """Letters, Numbers
                 a, 1
                 b, 2
                 c, 3"""

data = io.StringIO(data_string)
df = pd.read_csv(data, sep=",")
#создать DataFrame из `данных`


print(df)
→ Ссылка
Автор решения: splash58
import pandas as pd
n = int(input())           # читаем кол-во
d = {}
for _ in range(n):         # читаем строки
    temp = input().split()
    d[temp.pop(0)] = temp  # и складываем в словарь
df = pd.DataFrame(d)       # делаем фрайм из словаря
print(df)
→ Ссылка
Автор решения: SergFSM

судя по тому что на входе у вас column_name - это колонки дата фрейма. если это так, то собираем дата фрейм:

df = pd.DataFrame()
for i in range(n):
    col, *val = input().split()
    df[col] = val
→ Ссылка