代码:
import numpy as np, pandas as pd ar = np.array(['00:00:00']) pd.Timedelta(ar[0])
结果:
TypeError: Expected unicode, got numpy.str_
这对我来说是非常违反直觉的,似乎违背了Python的鸭子类型本质。请注意,以下代码按预期输出。
pd.Timedelta('00:00:00')
输出:
Timedelta('0 days 00:00:00')
eaf3rand1#
出现TypeError的原因是pd.Timedela()函数需要一个字符串作为输入,而不是一个带有单个字符串元素的numpy数组。正如你所注意到的,使用字符串是可行的:
退货
或者,你可以使用numpy字符串方法.item(),像这样:
import numpy as np import pandas as pd ar = np.array(['00:00:00']) pd.Timedelta(ar.item())
这应该会给予你预期的输出:
1条答案
按热度按时间eaf3rand1#
出现TypeError的原因是pd.Timedela()函数需要一个字符串作为输入,而不是一个带有单个字符串元素的numpy数组。
正如你所注意到的,使用字符串是可行的:
退货
或者,你可以使用numpy字符串方法.item(),像这样:
这应该会给予你预期的输出: