<h2>解决方案</h2>
<p>可以从DateTimeIndex对象中减去<code>0.5 seconds</code>作为<code>datetime.timedelta</code>对象。你知道吗</p>
<h2>简短的回答</h2>
<pre class="lang-py prettyprint-override"><code>import datetime
dt = datetime.timedelta(seconds=0.5)
pd.DatetimeIndex(datetime_data) - dt
</code></pre>
<p><strong>输出</strong>:</p>
<pre><code>0 2018-01-22 21:38:59.500
1 2018-01-22 21:39:00.500
2 2018-01-22 21:39:02.500
3 2018-01-22 21:39:05.500
4 2018-01-22 21:39:06.500
5 2018-01-22 21:39:07.500
6 2018-01-22 21:39:08.500
7 2018-01-22 21:39:09.500
8 2018-01-22 21:39:10.500
9 2018-01-22 21:39:11.500
Name: Timestamp, dtype: datetime64[ns]
</code></pre>
<h2>详细解决方案</h2>
<h3>1。生成数据</h3>
<pre class="lang-py prettyprint-override"><code>import numpy as np
import pandas as pd
datetime_data = ['2018-01-22 21:39:00', '2018-01-22 21:39:01',
'2018-01-22 21:39:03', '2018-01-22 21:39:06',
'2018-01-22 21:39:07', '2018-01-22 21:39:08',
'2018-01-22 21:39:09', '2018-01-22 21:39:10',
'2018-01-22 21:39:11', '2018-01-22 21:39:12']
dti = pd.DatetimeIndex(datetime_data)
dti
</code></pre>
<p><strong>输出</strong>:</p>
<pre><code>DatetimeIndex(['2018-01-22 21:39:00', '2018-01-22 21:39:01',
'2018-01-22 21:39:03', '2018-01-22 21:39:06',
'2018-01-22 21:39:07', '2018-01-22 21:39:08',
'2018-01-22 21:39:09', '2018-01-22 21:39:10',
'2018-01-22 21:39:11', '2018-01-22 21:39:12'],
dtype='datetime64[ns]', freq=None)
</code></pre>
<blockquote>
<h3>2. Subtract <code>0.5</code> Second</h3>
</blockquote>
<pre class="lang-py prettyprint-override"><code>import datetime
df = pd.DataFrame(dti, columns=['Timestamp'])
dt = datetime.timedelta(seconds=0.5)
df.Timestamp - dt
</code></pre>
<p><strong>输出</strong>:</p>
<pre><code>0 2018-01-22 21:38:59.500
1 2018-01-22 21:39:00.500
2 2018-01-22 21:39:02.500
3 2018-01-22 21:39:05.500
4 2018-01-22 21:39:06.500
5 2018-01-22 21:39:07.500
6 2018-01-22 21:39:08.500
7 2018-01-22 21:39:09.500
8 2018-01-22 21:39:10.500
9 2018-01-22 21:39:11.500
Name: Timestamp, dtype: datetime64[ns]
</code></pre>