2017-03-09 92 views
-3
df = pd.DataFrame({"ID":['A','B','C','D','E','F'], 
       "IPaddress":['12.345.678.01','12.345.678.02','12.345.678.01','12.345.678.18','12.345.678.02','12.345.678.01'], 
       "score":[8,9,5,10,3,7]}) 

我正在使用Python和Pandas库。对于具有重复IP地址的行,我想只选择一个分数最高的分数(分数从0-10),并删除所有重复项。Python Pandas独特值

我在将这个逻辑转换为Python函数时遇到困难。

+0

df.loc [df.groupby(“名称IP地址”)“分数”。idxmax()] – Johnny

+1

约翰尼,它看起来像你可能是新的堆栈,但是不知道为什么,你可能会得到downvoted为什么似乎是一个“正常”的问题。降价的原因是你没有发布你已经尝试过的内容,并且可能会让一些用户认为我们正在“做你的功课”。事实上,这个问题与论坛上的其他人非常相似。将来,发布你尝试过的代码。阅读[documentation](http://stackoverflow.com/help/mcve)以获得更好的理解。我们祝你最好,我希望你不断回来! – MattR

+0

非常好的一点。我会确保将下一次尝试写入该帖子的内容包括在内。谢谢Matt – Johnny

回答

0
df.loc[df.groupby('IPaddress')['score'].idxmax()] 
+0

虽然此代码片段可能会解决问题,但[包括解释](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高您的质量帖子。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 – DimaSan