擅长:python、mysql、java
<p>在0.17.0中,有一种方法比我的评论中的答案更简单、更简单:</p>
<pre><code>In [81]:
def func(x):
z1 = pd.NaT
z2 = pd.NaT
z3 = pd.NaT
if pd.notnull(x['z1']):
z1 = dt.timedelta(seconds =x['z1'])
if pd.notnull(x['z2']):
z2 = dt.timedelta(seconds =x['z2'])
if pd.notnull(x['z3']):
z3 = dt.timedelta(seconds =x['z3'])
return pd.Series([z1,z2,z3])
date.values + sdtarray.apply(lambda row: func(row), axis=1)
Out[81]:
0 1 2
0 NaT NaT NaT
1 2014-09-01 05:38:02.600 2014-09-01 05:38:03.400 2014-09-01 05:39:03.000
2 NaT NaT NaT
3 2014-09-01 06:27:00.100 2014-09-01 06:27:01.100 2014-09-01 06:28:00.700
4 2014-09-01 06:37:04.700 2014-09-01 06:37:05.200 2014-09-01 06:38:04.900
5 2014-09-01 06:57:00.100 2014-09-01 06:57:00.600 2014-09-01 06:58:01.100
</code></pre>