how to get the index of ith item in pandas.Series

佐手、 提交于 2020-05-24 21:23:41

问题


I'm trying to get the index of 6th item in the Series I have.

This is how the head looks like

United States    1.536434e+13
China            6.348609e+12
Japan            5.542208e+12
Germany          3.493025e+12
France           2.681725e+12

For getting the 6th index name ( 6th Country after being sorted ), I usually use s.head(6) and get the 6th index from there

s.head(6) gives me

United States     1.536434e+13
China             6.348609e+12
Japan             5.542208e+12
Germany           3.493025e+12
France            2.681725e+12
United Kingdom    2.487907e+12

and looking at this, I'm getting the index as United Kingdom.

So, is there any better way for getting the index other than this. And also, for a data frame, is there any function to get the 6th index on basis of a respective column after sorting.

If it's data frame, I usually, sort, create a new column named index, and use reset_index and then use iloc attribute to get the 6th ( Since, it will be using an range in the index after reset ).

Is there any better way in doing this with pd.Series and pd.DataFrame.

Thank you.


回答1:


You could get it straight from the index

s.index[5]

Or

s.index.values[5]

It all depends on what you consider better. I can tell you that a numpy approach will probably be faster.

For example. numpy.argsort returns an array where the first element in the array is the position in the array being sorted that should be first. The second element in argsort's return array is the position of the element in the array being sorted that should be second. So on and so forth.

So you could do this to get the index value of the 6th item after being sorted.

s.index.values[s.values.argsort()[5]]

Or more transparently

s.sort_values().index[5]

Or more creatively

s.nsmallest(6).idxmax()



回答2:


s.index[5] should give you the index of the 6th item



来源:https://stackoverflow.com/questions/41273005/how-to-get-the-index-of-ith-item-in-pandas-series

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!