论坛中有类似的帖子 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
(这恰好是正确的)
答案 0 :(得分:1)
首先,只要你有一个带有pandas的循环,你可能做错了!
您需要使用merge来合并两个数据框,并仅选择用户和流派列。它就像SQL一样工作。然后你有一个关键用户/流派的表。现在你可以分组("用户")。count()。没有明确的循环。