有没有更好的方法来改变 Pandas 系列的值?

问题描述 投票:0回答:1

我是 Python 和 Pandas 的新手,我想知道是否有更好的方法来替换 Series 中的值。这是我的代码:

import pandas as pd
rank = pd.Series(data=[161.140890, 146.989804, 133.589100, 131.220764, 124.506911],
                 index=['SB', 'EKDKQ', 'APD', 'DIS', 'MDR'])
print(rank)

这是我的输出:

SB       161.140890
EKDKQ    146.989804
APD      133.589100
DIS      131.220764
MDR      124.506911
dtype: float64

我想用 1,2,3 这样的序列号替换这些值...... 我可以用这个代码:

x = 1
for i, v in rank.items():
    rank.loc[i] = x
    x += 1
print(rank)

我得到:

SB       1.0
EKDKQ    2.0
APD      3.0
DIS      4.0
MDR      5.0
dtype: float64

这很好,但它看起来不像“Pandas”代码。我的代码看起来更像 C++。那里的熊猫专家可以告诉我如何以熊猫的方式做到这一点吗?

python pandas series
1个回答
0
投票

更好地使用

range
并直接赋值:

rank[:] = range(1, rank.size+1)

输出:

SB       1.0
EKDKQ    2.0
APD      3.0
DIS      4.0
MDR      5.0
dtype: float64
© www.soinside.com 2019 - 2024. All rights reserved.