Более чистый способ заполнения фрейма данных?

Каков более чистый способ загрузки данных в фрейм данных. Сейчас у меня это как:

df = pd.DataFrame()
df['title'] = title_list
df['url'] = url_list
df['category'] = category_list
df['traffic'] = traffic_list
df['revenue'] = revenue_list
df['price'] = value_list
df.to_csv('test.csv', sep = ",")

Как генерируются list?

jezrael 22.05.2018 07:36
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
29
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я предлагаю использовать dictionary, параметр columns предназначен для пользовательского упорядочивания столбцов в Python ниже 3.6:

cols = ['title','url', 'category','traffic','revenue','price']
df = pd.DataFrame({'title':title_list, 
                   'url':url_list,
                   'category':category_list,
                   'traffic':traffic_list,
                   'revenue':revenue_list,
                   'price':value_list}, columns=cols)

используйте 'title':pd.Series(title_list), если он отличается по длине

pyd 22.05.2018 09:27

Настраивать

title_list = list('ABCDE')
url_list = list('VWXYZ')
category_list = 'dog cat bird fish lizard'.split()
traffic_list = 'red green yellow blue amber'.split()
revenue_list = range(5, 10)
value_list = range(100, 600, 100)

zip

Это работает, если все списки имеют одинаковую длину

data = [title_list, url_list, category_list,
        traffic_list, revenue_list, value_list]
cols = 'title url category traffic revenue price'.split()
pd.DataFrame(dict(zip(cols, data)))

  title url category traffic  revenue  price
0     A   V      dog     red        5    100
1     B   W      cat   green        6    200
2     C   X     bird  yellow        7    300
3     D   Y     fish    blue        8    400
4     E   Z   lizard   amber        9    500

Если разная длина

data = [title_list, url_list, category_list,
        traffic_list, revenue_list, value_list]
cols = 'title url category traffic revenue price'.split()
pd.DataFrame(list(zip(*data)), columns=cols)

   title url category traffic  revenue  price
0     A   V      dog     red        5    100
1     B   W      cat   green        6    200
2     C   X     bird  yellow        7    300
3     D   Y     fish    blue        8    400
4     E   Z   lizard   amber        9    500

Спасибо вам за разъяснение!

sgerbhctim 22.05.2018 08:06

Другие вопросы по теме