2015-05-03 2 views
0

Привет Я изучаю анализ данных с помощью Pandas. У меня есть список компаний, которые выглядят так.Создание столбцов с данными в другой колонке в Pandas

Company name 0 Crowdbooster 1 Adsense for native content 2 Palo Alto · Native Advertising 3 Nov ’10 4 299 5 Captricity 6 Democratizing Data Access. 7 Oakland · Data Integration 8 Feb ’11 9 513

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

Company name Company summary Location Year founded Followers 
0 Crowdbooster Adsense for native content Palo Alto · Native Advertising Nov ’10 299 
1 Captricity Democratizing Data Access. Oakland · Data Integration Feb ’11 513 

Я сначала хотел сделать это с Перечислим() и% для разделения информации, но так как данные где-то отсутствует в списке, он не может работать. Я хочу, чтобы данные отсутствовали, так как у Нэна и у меня 1000+ точек данных, так что около 200 компаний. Я как-то думал использовать номер последователя, но я не знаю, как это сделать. Может ли кто-нибудь сказать мне лучший способ решить мою проблему?

+0

Что вы подразумеваете под номером последователя? Вы просто хотите составить список? –

+0

Спасибо! Я обновил вопрос, поэтому, пожалуйста, смотрите :) – user3368526

+0

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

ответ

0

Если все, что вам нужно, это список, вы можете сделать это:

Допустим, ваши данные в текстовый файл с именем data_points.txt в той же папке, где ваш файл .py есть. Если сырье текст выглядит как в вашем посте (без чисел), вы можете получить доступ этот текст и создать список, как это:

with open("data_points.txt") as f: 
    content = f.readlines() 
    content = [x.strip("\n")for x in content] 
    content = [x.replace("\xa1\xa6", "20") for x in content] 
    content = [x.replace("\xa1P", " ") for x in content] 

Если у вас есть ваши данные в виде списка, хранящегося в content, вы будете есть много вариантов манипулирования этим списком на основе того, что вы хотите делать с этими данными. Вы можете просто print content, если хотите, список.

Или, вы можете превратить это list в словарь, добавив этот код в код выше:

dict_content = {'Company':content[0::5], 'Summary':content[1::5], 'Location':content[2::5], 'Year':content[3::5], 'Followers':content[4::5]} 
print dict_content 

Выход будет таким:

{'Company': ['Crowdbooster', 'Captricity'], 'Year': ['Nov 2010', 'Feb 2011'], 'Followers': ['299', '513'], 'Location': ['Palo Alto Native Advertising', 'Oakland Data Integration'], 'Summary': ['Adsense for native content', 'Democratizing Data Access.']} 
+0

Привет, спасибо, но у меня есть 1000 точек данных. У вас есть хорошее решение для автоматизации, например, с помощью петель? – user3368526

+0

@ user3368526 Я отредактировал свой ответ на основе вашего комментария. Теперь мой ответ показывает, как вы можете привести свои данные в список. –

+0

@ user3368526 Я также добавил код для создания словаря из списка. –

Смежные вопросы