创建包含表

时间:2014-01-09 18:00:02

标签: python pandas dataframe

我正在尝试使用Pandas创建一个包含表并且是该语言的新手,我非常困惑。我正在处理facebook数据。

以下是我拥有的数据示例:

以下是具有他们喜欢的所有页面的用户的集合

id   pageid1    pageid2   pageid3     
10   123         456        789
11   478         166        356    ...
12   984         456        789
13   166         356        123
               ...

我还有一个最受欢迎的喜欢页面列表,所以

pop_page1: 123
pop_page2: 456
pop_page3: 789
     ...

所以“pop_page1”是我的数据集中用户最喜欢的页面。

当我完成后,我希望它看起来像这样

individual    pop_page1     pop_page2    pop_page3       (etc)
10             True          True          True
12             False         True          True
13             False         False         True
(etc)

基本上我想看看每个用户是否喜欢最受欢迎的页面,我不知道如何在Pandas中做到这一点(或者在python中原生,而不会弄乱数据)

1 个答案:

答案 0 :(得分:1)

您想使用DataFrame.isin()

In [12]: df
Out[12]: 
    pageid1  pageid2  pageid3
id                           
10      123      456      789
11      478      166      356
12      984      456      789
13      166      356      123

[4 rows x 3 columns]

In [13]: pages
Out[13]: [123, 456, 789]

In [14]: df.isin(pages)
Out[14]: 
   pageid1 pageid2 pageid3
id                        
10    True    True    True
11   False   False   False
12   False    True    True
13   False   False    True

[4 rows x 3 columns]

在你的问题中,不清楚流行页面是如何存储的。我刚刚将其列为一个列表,但如果它是dict,您可以使用.values()方法获取它们。