<p>如果您希望将<code>Dec \'18 (HOZ18)</code>这样的字符串转换为<code>December 18</code>,下面是一个解决方案。你知道吗</p>
<p><strong>1)定义一个函数来清除字符串:</strong></p>
<pre><code># define a dictionary to convert short month names to full ones
month_mapper = {
'Jan': 'January',
'Feb': 'February',
'Mar': 'March',
'Apr': 'April',
'May': 'May',
'Jun': 'June',
'Jul': 'July',
'Aug': 'August',
'Sep': 'September',
'Oct': 'October',
'Nov': 'November',
'Dec': 'December',
}
def clean_month_string(s):
# replace the '\' char with empty string
s = s.replace('\\', '')
# split into three pieces on space
# eg, "Dec '18 (HOZ18)" ->
# month = "Dec"
# year = "'18"
# code = "(HOZ18)"
month, year, code = s.split(' ')
# convert month using month mapper
month = month_mapper[month]
# remove the ' at the start of the year
year = year.replace("'", "")
# return new month and new year (dropping code)
return ' '.join([month, year])
</code></pre>
<p><strong>2)使用<code>apply</code>将该函数应用于数据帧中的每一行。</strong></p>
<pre><code># drop that first row, which is not properly formatted
df = df.drop(0).reset_index(drop=True)
# apply the function to your 'Contracts' series.
df['Contracts'] = df['Contracts'].apply(clean_month_string)
</code></pre>