对索引熊猫系列进行排序时出错

Posted

技术标签:

【中文标题】对索引熊猫系列进行排序时出错【英文标题】:Error with sorting an indexed pandas Series 【发布时间】:2020-10-20 02:09:12 【问题描述】:

我无法对来自数据框的熊猫系列进行排序。我已经复制和粘贴,如果需要,更改来自不同websites 和堆栈溢出帖子的代码,但它们都没有对系列进行排序。完全没有变化。

如下图,变量dataFile是一个DataFrame,变量data是一个Series。

这是我的代码的相关部分:

filename = "students.csv"
dataFile = pd.read_csv(filename, index_col = 0)
attribute = 'Weight'
data = dataFile.loc[:][attribute]

data.sort_values(axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False)
print(data)

我尝试对 Series 和 DataFrame 进行排序,但无济于事。下面分别是 DataFrame 和 Series 的一些图片:

如果能得到任何帮助,我将不胜感激。

【问题讨论】:

您指定 inplace=False 并且也不将结果分配回任何内容,因此您放弃了整个操作。做data = data.sort_values(...) 这能回答你的问题吗? Pandas dropna() function not working 【参考方案1】:

data = data.sort_values(...) 应该可以工作。

【讨论】:

@Jooeey 非常感谢。我花了 3 个多小时在这个程序上工作(不仅仅是对它进行排序),它终于可以工作了。【参考方案2】:

尝试参数(inplace = True)。它就地执行操作。如果选择 False,则不会更改内存中的数据。因此,当您打印最后一行的数据时,它会显示之前保存的数据,没有进行任何更改。

试试:

data.sort_values(axis=0, ascending=True, inplace=True)

【讨论】:

以上是关于对索引熊猫系列进行排序时出错的主要内容,如果未能解决你的问题,请参考以下文章

访问熊猫数据框索引时出错

从 Pyspark 对表格中的日期进行排序时出错

熊猫排序并保持索引不变

尝试对 std::map<int, class> 进行排序时出错

根据字符串+数字的索引对熊猫数据框进行排序

熊猫系列 sort_index() 不适用于 kind='mergesort'