我正在尝试使用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中原生,而不会弄乱数据)
答案 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()
方法获取它们。