擅长:python、mysql、java
<p>为什么不在序列<code>df['duration']</code>上使用<code>apply</code>函数,这样会快得多。在</p>
<p>这是一个代码示例。在</p>
<pre><code>In [17]: df['duration'] = df['duration'].apply(isodate.parse_duration)
In [18]: df['duration'] = df['duration']/np.timedelta64(1, 's')
In [19]: df
duration
0 427.0
1 434.0
2 405.0
</code></pre>
<p>注意,这里有一个诀窍:将<code>datetime</code>或<code>timedelta</code>对象除以<code>np.timedelta64</code>不同的单位,你就可以得到这个对象的单位数。在</p>
<p>顺便说一下,如果有<code>NaN</code>或缺少值,则需要处理它们。在</p>
<p>另外一点,对于来自<code>unutbu</code>的回答,只有当您的数据只包含<code>'M'</code>和{<cd9>}时,它才是合适的。因为<a href="https://github.com/gweis/isodate" rel="nofollow noreferrer">^{<cd10>}</a>可以是<code>PnnYnnMnnDTnnHnnMnnS</code>。在</p>
<p>希望这对你有用。在</p>