<p>使用:</p>
<pre><code>import pandas as pd
temp=u"""1st June
Breakfast - 20
Lunch - 40
Snacks - 10
Bus Ticket - 130
Auto - 60
3rd June
Bus Ticket - 206
Auto - 71
Rent - 3385
Electricity - 1085
Dinner - 120"""
</code></pre>
<p>如果没有<code>csv</code>的头,首先由<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html" rel="nofollow noreferrer">^{<cd2>}</a>创建<code>names</code>,参数为<code>names</code>:</p>
^{pr2}$
<p>然后创建3个新列—首先通过前向填充<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.mask.html" rel="nofollow noreferrer">^{<cd6>}</a>创建的<code>NaN</code>来重复日期,然后<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.split.html" rel="nofollow noreferrer">^{<cd7>}</a>值并通过<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html" rel="nofollow noreferrer">^{<cd8>}</a>删除不必要的行:</p>
<pre><code>mask = df['data'].str.contains('-')
df['a'] = df['data'].mask(mask).ffill()
df[['b', 'c']] = df['data'].where(mask).str.split(' - ', expand=True)
df = df.dropna(subset=['b'])
</code></pre>
<p>{a5}和{a5}最后一次使用{a5}和{a5}顺序的{a5}和最后一次使用^ a5}的值:</p>
^{4}$