【发布时间】:2018-06-27 21:03:30
【问题描述】:
我目前正在努力寻找比link 中的解决方案更快的解决方案。问题是,当我的数据达到相对庞大的数量(例如 1M 行)时,它会相当慢,尤其是当它是每秒而不是原始帖子中的每分钟时。
所以我正在尝试使用 Numpy arange 找到一种更有效的方法。但是我遇到了错误
#First- with pd.to_datetime
x = pd.DataFrame({ "ID": np.repeat(df.ID.values, df.time_delta.values),
"time": np.arange(pd.to_datetime(df.FROM.values), pd.to_datetime(df.TO.values), np.timedelta64(1,'s'))})
#Second - without pd.to_datetime
x = pd.DataFrame({ "ID": np.repeat(df.ID.values, df.time_delta.values),
"time": np.arange(df.FROM.values, df.TO.values, np.timedelta64(1,'s'))})
这里的想法是从 FROM 列到 TO 列重复 ID 多少秒 (time_delta)。但我不断收到错误ValueError: Could not convert object to NumPy timedelta。
这是我的df 的dtypes,
ID object
FROM datetime64[ns, UTC]
TO datetime64[ns, UTC]
time_delta int64
dtype: object
谁能告诉我我做错了什么?
提前谢谢你。
【问题讨论】:
-
您能否提供输入数据框的示例:例如
df.head()或df.head().to_dict()?