![](/img/trans.png)
[英]how do i make my function returns multiple values within my for-loop? (Beginner)
[英]How do I change all my values within a df column using a loop / lambda function (the simplest way of doing so)
sweets = pd.DataFrame({Name: Sweet_count: Rank, "John" : 12: 1, "Mike": 4: 2, "James": 17: 3, "Michael" : 6: 4, "Sam": 19: 5, "Jack": 15: 6})
我们这里有一张姓名表,每个人拥有的糖果数量,以及谁拥有最多/最少数量的等级。 层次结构的值是错误的,我需要按从上到下的顺序更新它们。
sweets.sort_values("Sweet_count", inplace = True)
我现在需要为每个值分配正确的等级。 山姆最甜蜜,因此他需要 position 1,迈克最少 position 6。
那么我将如何编写一个循环,让我遍历不正确值的列并让它们以正确的方式排序?
注意:在我的真实数据集中,我无法手动完成这项工作,因为值太多了。
这里期望的结果是:
sweets = pd.DataFrame({Name: Sweet_count: Rank, "John" : 12: 4, "Mike": 4: 6, "James": 17: 2, "Michael" : 6: 5, "Sam": 19: 1, "Jack": 15: 3})
它必须使用循环/lambda,还是可以使用 pandas 的内置等级 function,如下所示:
sweets["Correct_Rank"] = sweets["Sweet_count"].rank(ascending=False)
参考: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rank.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.