获取列匹配特定值的行的索引

时间:2016-11-02 15:25:12

标签: python pandas dictionary

论坛中有类似的帖子 POST 但我无法弄清楚如何在我的exaple中做到这一点。

我的代码现在有以下说明

desc "Heroku task to get stuff"
task :get_stuff => :environment do
  puts "Getting stuff from api..."
  Stuff.get_stuff
  puts "done."
end

我有一个带有应用程序用户列表的数据框(dfuser),我有另一个数据框,其中包含所有应用程序的类型(应用程序可能有多个类型)。所以我想看看哪个类型在每个用户中更受欢迎。

我的代码很好,只是for i in dfuser.appid : print i d = dfbinary.loc[dfbinary['appid'] == i] print d glist = dfbinary.columns[dfbinary.loc[i]==1] print glist 找不到我想要的appid但找到了索引为i的appid。例如,i = 10,因此它将找到位于第11行(10)的应用程序。

这是打印的内容

glist

(这恰好是正确的)

1 个答案:

答案 0 :(得分:1)

首先,只要你有一个带有pandas的循环,你可能做错了!

您需要使用merge来合并两个数据框,并仅选择用户和流派列。它就像SQL一样工作。然后你有一个关键用户/流派的表。现在你可以分组("用户")。count()。没有明确的循环。