如何解决访问排序列表的第一个元素
以下是原始表格:
identifier comments_count
2353962646372849000 4153
2353962646372849028 6102
2342365172189273063 3936
2353962646372849567 5202
2342365172189273168 3076
df = pd.DataFrame({
'identifier': [2353962646372849000,2353962646372849028,2342365172189273063,2353962646372849567,2342365172189273168],'comments_count': [4153,6102,3936,5202,3076],})
我想访问dfsorted.identifier的第一个元素,它是一个排序列表。
查询的输出应为'2353962646372849028'
。
dfsorted = df.sort_values('comments_count',ascending=False)
identifier comments_count
2353962646372849028 6102
2353962646372849567 5202
2353962646372849000 4153
2342365172189273063 3936
2342365172189273168 3076
查询
dfsorted['identifier'][0]
但是始终返回'2353962646372849000'
(排序之前标识符的第一个元素)。
如何解决该问题?
解决方法
您可以使用:
dfsorted.iloc[0,:]['identifier']
或更简单:
dfsorted.iloc[0,0]
结果:
2353962646372849028
,
dfsorted = df.sort_values('comments_count',ascending=False).reset_index(drop=True)
使用它来重置索引:D
排序列表不会更新索引,如果您打印表,则会看到索引没有更新。通过使用reset_index(drop=True)
,您可以创建新索引并删除旧索引。如果省略drop=True
,则会将旧索引保存在额外的列中。
dfs=df.groupby('comments_count',as_index=False).apply(lambda x: x.nlargest(1,columns=['identifier'])).reset_index(level=1,drop=1)
重置索引可以正常工作,结果如您所愿:
2342365172189273168
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。