简体   繁体   中英

how to replace certain elements in the pandas dataframe index

I have a dictionary and want to use .replace to only replace the indices that are in the dictionary key withe values.

dicts = {"certain index element1": "changed element1",
             "certain index element2": "changed element2",
             "certain index element3": "changed element3",
             } 

This does not work:

df.replace(dicts,regex=False,inplace=True)

The df is huge so I can not reassign all of the index from scratch. I only need to change certain elements and everything else remains the same.

If I wanted to replace certain elements within the df (not indices) it would work but for indices it does not.

Use rename(index=dicts)


example

df = pd.DataFrame(
    np.random.choice(list('abcd'), (10, 10)),
    list('ABCDEFGHIJ')
)
dc = {'A': '_A_', 'B': '_B_'}

df.rename(index=dc, inplace=True)

print(df)

     0  1  2  3  4  5  6  7  8  9
_A_  a  a  a  a  b  a  d  c  c  b
_B_  b  c  c  a  a  a  b  b  a  b
C    b  b  d  b  d  c  c  a  a  b
D    d  d  d  d  c  b  b  a  a  d
E    d  c  c  c  a  d  a  d  d  a
F    d  c  d  c  d  d  d  d  b  d
G    b  c  d  c  c  b  c  a  a  b
H    c  c  c  b  b  a  a  b  c  a
I    c  a  a  b  a  d  c  c  a  a
J    a  a  a  c  a  b  d  c  c  c

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM