擅长:python、mysql、java
<p>由于<code>pd.Period</code>可以解析季度期间,因此可以将其用作自定义的<code>date_parser</code>。然后,要将日期转换为季度的最后一天,可以使用<code>map</code>和<code>end_time</code>属性:</p>
<pre><code>import pandas as pd
text = '''\
date val
2013Q2 100
2013Q3 120
'''
filename = '/tmp/data'
with open(filename, 'w') as f:
f.write(text)
df = pd.read_table(filename, sep='\s+', date_parser=pd.Period, parse_dates=[0])
df['date'] = df['date'].map(lambda x: x.end_time.date())
print(df)
# date val
# 0 2013-06-30 100
# 1 2013-09-30 120
</code></pre>