<p>一。str.提取物接受正则表达式。在</p>
<p><a href="http://pandas.pydata.org/pandas-docs/version/0.15.2/generated/pandas.core.strings.StringMethods.extract.html#pandas.core.strings.StringMethods.extract" rel="nofollow">http://pandas.pydata.org/pandas-docs/version/0.15.2/generated/pandas.core.strings.StringMethods.extract.html#pandas.core.strings.StringMethods.extract</a></p>
<pre><code>import pandas as pd
df = pd.DataFrame(
{'Col1': [20, 30, 40, 50, 60, 70],
'Col2': ['May','March','June','July','May','March'],
'SearchCol3': ['abc(feb)','def | mar','ghi | feb','jkl(apr)','mno(mar)','abc']})
a_regex = '(jan|feb|mar|apr|may)'
month_replacements = {'jan': 'January','feb': 'February',
'mar': 'March','apr': 'April','may': 'May'}
#Extract Using Regex
df['NewCol4'] = df['SearchCol3'].str.extract(a_regex).fillna('')
#Look up values from dictionary
df['NewCol4'] = df['NewCol4'].apply(lambda x: month_replacements.get(x,''))
#Use default value from other coumn if no other value
df['NewCol4'] = df.apply(lambda row: row['Col2'] if row['NewCol4'] == '' else row['NewCol4'], axis=1)
</code></pre>
<p>输出:</p>
^{pr2}$