在Pandas

时间:2015-05-03 21:17:52

标签: python numpy 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

我首先想用enumerate()和%来分隔信息,但由于列表中某处缺少数据,因此无法正常工作。我希望数据缺失为Nan和我有1000多个数据点,所以大约有200家公司。 我想以某种方式使用跟随者的号码,但我不知道该怎么做。 有人能告诉我一个更好的方法来解决我的问题吗?

1 个答案:

答案 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.']}