擅长:python、mysql、java
<p>实际上,您不需要为此使用特殊函数,因为它已经存在-<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.replace.html" rel="nofollow">replace()</a>:</p>
<pre><code>In [32]: replacements = {
....: 'DSFS': {
....: r'(\d+)\s*\-\s*(\d+).*': r'\1_\2'
....: },
....: 'DrugCount': {
....: r'\+': ''
....: }
....: }
In [33]: dc
Out[33]:
MemberID Year DSFS DrugCount
0 48925661 Y2 9-10 months 7+
1 90764620 Y3 8- 9 months 3
2 61221204 Y1 2- 3 months 1
In [34]: dc.replace(replacements, regex=True, inplace=True)
In [35]: dc['DrugCount'] = dc.DrugCount.astype(int)
In [36]: dc
Out[36]:
MemberID Year DSFS DrugCount
0 48925661 Y2 9_10 7
1 90764620 Y3 8_9 3
2 61221204 Y1 2_3 1
In [37]: dc.dtypes
Out[37]:
MemberID int64
Year object
DSFS object
DrugCount int32
dtype: object
</code></pre>