繁体   English   中英

如何使用循环 / lambda function 更改 df 列中的所有值(最简单的方法)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM