替换python 3中的第一个字符串字符

Mig*_*488 3 python string replace python-3.x pandas

我有一个像这样的熊猫系列:

0          $233.94
1          $214.14
2          $208.74
3          $232.14
4          $187.15
5          $262.73
6          $176.35
7          $266.33
8          $174.55
9          $221.34
10         $199.74
11         $228.54
12         $228.54
13         $196.15
14         $269.93
15         $257.33
16         $246.53
17         $226.74
Run Code Online (Sandbox Code Playgroud)

我想摆脱美元符号所以我可以将值转换为数字.我做了一个功能,以便这样做:

def strip_dollar(series):
    for number in dollar:
        if number[0] == '$':
            number[0].replace('$', ' ')

    return dollar
Run Code Online (Sandbox Code Playgroud)

这个函数返回原始系列不变,没有任何变化,我不知道为什么.

关于如何做到这一点的任何想法?

提前致谢

jez*_*ael 6

使用lstrip并转换为floats:

s = s.str.lstrip('$').astype(float)
print (s)
0     233.94
1     214.14
2     208.74
3     232.14
4     187.15
5     262.73
6     176.35
7     266.33
8     174.55
9     221.34
10    199.74
11    228.54
12    228.54
13    196.15
14    269.93
15    257.33
16    246.53
17    226.74
Name: A, dtype: float64
Run Code Online (Sandbox Code Playgroud)

设置:

s = pd.Series(['$233.94', '$214.14', '$208.74', '$232.14', '$187.15', '$262.73', '$176.35', '$266.33', '$174.55', '$221.34', '$199.74', '$228.54', '$228.54', '$196.15', '$269.93', '$257.33', '$246.53', '$226.74'])
print (s)
0     $233.94
1     $214.14
2     $208.74
3     $232.14
4     $187.15
5     $262.73
6     $176.35
7     $266.33
8     $174.55
9     $221.34
10    $199.74
11    $228.54
12    $228.54
13    $196.15
14    $269.93
15    $257.33
16    $246.53
17    $226.74
dtype: object
Run Code Online (Sandbox Code Playgroud)