擅长:python、mysql、java
<p>假设您的列名是<code>regions</code>,您可以使用<code>str.extract</code>:</p>
<pre><code>df.assign(
state=df.region.str.extract(r'(.*?)\[edit\]').ffill()
).mask(df.region.str.endswith('[edit]')).dropna()
region state
1 Auburn Alabama
2 Florence Alabama
3 Jacksonville Alabama
4 Livingston Alabama
5 Montevallo Alabama
6 Troy Alabama
7 Tuscaloosa Alabama
8 Tuskegee Alabama
10 Fairbanks Alaska
12 Flagstaff Arizona
13 Tempe Arizona
14 Tucson Arizona
16 Arkadelphia Arkansas
17 Conway Arkansas
18 Fayetteville Arkansas
19 Jonesboro Arkansas
20 Magnolia Arkansas
21 Monticello Arkansas
22 Russellville Arkansas
23 Searcy Arkansas
25 Angwin California
26 Arcata California
27 Berkeley California
28 Chico California
29 Claremont California
</code></pre>
<p>如果您想在region列中保留状态,只需删除<code>mask</code>:</p>
^{pr2}$