Принять на вход строки и сформировать 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 шт):
Используйте 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)
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)
судя по тому что на входе у вас column_name - это колонки дата фрейма. если это так, то собираем дата фрейм:
df = pd.DataFrame()
for i in range(n):
col, *val = input().split()
df[col] = val