Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在dataframe中划分行并将它们作为新列进行排序?_Python_Pandas - Fatal编程技术网

Python 如何在dataframe中划分行并将它们作为新列进行排序?

Python 如何在dataframe中划分行并将它们作为新列进行排序?,python,pandas,Python,Pandas,例如,我有一个如下所示的数据集: d = {'Rank': [1, 2, 3, 4, 5, 6], 'Name': ["apple", "banana", "grape", "orange", "plum", "blackberry"]} df = pd.DataFrame(data=d) df.head() Rank Name New Rank 0 1

例如,我有一个如下所示的数据集:

d = {'Rank': [1, 2, 3, 4, 5, 6], 'Name': ["apple", "banana", "grape", "orange", "plum", "blackberry"]}
df = pd.DataFrame(data=d)
df.head()
  Rank   Name    New Rank
0  1    apple     High
1  2    banana    High
2  3    grape     Medium
3  4    orange    Medium
4  5     plum     Low
5  6   blackberry Low
我想得到一个新的列“level”,基于rank列,我想得到一个新的rank,比如: ['High'、'Medium'、'Low'],因此对于我的数据帧,如下所示:

d = {'Rank': [1, 2, 3, 4, 5, 6], 'Name': ["apple", "banana", "grape", "orange", "plum", "blackberry"]}
df = pd.DataFrame(data=d)
df.head()
  Rank   Name    New Rank
0  1    apple     High
1  2    banana    High
2  3    grape     Medium
3  4    orange    Medium
4  5     plum     Low
5  6   blackberry Low
我不确定这类计算的名称(?),因此我一直在使用诸如“排名”和“划分新排名”之类的关键字进行搜索,但我无法找到正确的帮助。(我看到了很多
.rank()
,但这不是我想要的…)这个过程的名称是什么,我如何实现


提前谢谢你

我会使用
cut
功能,它基本上就像一个直方图标签机,您可以为其提供自定义标签:

df=pandas.DataFrame({'Rank':[1,2,3,4,5,6]})
df['New Rank']=pandas.cut(df['Rank'],箱子=3,标签=['High','Medium','Low'])

请找出需要什么,并尝试阅读有关排名的内容function@AajKaal我读过排名函数,正如我在帖子中提到的,排名不是我想要的函数。你至少应该有一个高低中的标准