user3731622
user3731622

Reputation: 5095

What is the parameter "index" in Pandas.DataFrame.rename method?

Pandas DataFrame has a rename method which takes a parameter named "index." I don't understand the description of the parameter in the documentation: DataFrame.rename

Specifically, I'm using it like the example on the documentation web page:

df.rename(index=str, columns={"A": "a", "B": "c"})

I understand the result, but I don't understand why we set index=str.

What is the index parameter used for? Why does the example set index=str?

Upvotes: 13

Views: 3681

Answers (1)

akuiper
akuiper

Reputation: 214987

The index parameter is used to rename index, take df from the example:

df.index
# RangeIndex(start=0, stop=3, step=1)

df.rename(index=str).index                               # converts index from int to str
# Index(['0', '1', '2'], dtype='object')

This works because in the rename function, you can also pass functions to index and columns parameter which will be applied to each element in the index and columns. Here str acts as a function and convert every index from int to str object.


Another example:

df.rename(index=lambda x: x*2).index
# Int64Index([0, 2, 4], dtype='int64')

Upvotes: 8

Related Questions