Python中head(10)与[:10]的差异:为何结果不同?
[:10] 和 .head(10) 的本质区别 你遇到的问题核心是Pandas的显示逻辑差异,而非取数逻辑不同:
取数逻辑一致,显示方式有别
.head(10):直接返回Series的前10行完整数据,Pandas会把这10条全部展示,不会省略任何内容。[:10]:切片操作同样是取前10行数据,但当Series总长度远大于10时(比如你的结果里Length为157),Pandas会触发长内容折叠显示,用...省略中间大部分行,只显示开头和结尾的部分条目,导致你误以为取了末尾数据。实际上它和.head(10)取的是完全相同的前10条。
验证方法:执行
print(df['Runtime'].value_counts().sort_values(ascending = False)[:10].to_string()),就能看到完整的前10行,和.head(10)结果完全一致。简化代码小技巧
value_counts()方法默认就是降序排列的,你后面加的.sort_values(ascending=False)属于重复操作,可以直接简化成df['Runtime'].value_counts().head(10),效果完全相同。
内容的提问来源于stack exchange,提问作者turkmen
相关产品推荐
相关产品推荐

