Jupyter Notebook中DataFrame排序与内容显示问题求助
解决Jupyter Notebook中DataFrame表头和内容同时排序的问题
嘿,我来帮你搞定这个问题!你之前的尝试里,sorted(foodItems_df)只是返回了排序后的列名列表,并没有生成包含完整数据的排序后DataFrame,这就是为什么看不到具体内容的原因。要实现表头和内容一起排序,我们只需要用排序后的列名重新索引DataFrame就行,具体步骤如下:
方法步骤
获取排序后的列名列表:
先提取DataFrame的所有列名,然后排序:sorted_columns = sorted(foodItems_df.columns)这一步和你之前的操作类似,但我们要把这个列表用来重构DataFrame。
生成排序后的完整DataFrame:
用排序后的列名列表重新索引原DataFrame,这样列的顺序就会按排序后的表头排列,同时保留所有行数据:sorted_food_df = foodItems_df[sorted_columns]显示排序后的结果:
用你之前的display方法展示这个新的DataFrame:from IPython.display import display print("Sorted DataFrame") display(sorted_food_df)
额外:如果需要对行内容排序
如果你还想对行数据(比如按itemName列的值)进行排序,可以在上面的基础上加上sort_values方法:
# 按itemName列升序排列行,同时列按排序后的表头显示 sorted_food_df = foodItems_df[sorted_columns].sort_values(by='itemName') display(sorted_food_df)
这样你就能看到表头按字母顺序排序,同时行内容也按指定列排序的完整表格啦!
内容的提问来源于stack exchange,提问作者SpaceDwarv
相关产品推荐
相关产品推荐

