Python 为循环移除熊猫
我现在有下面的for循环,我想去掉它,因为它太慢了Python 为循环移除熊猫,python,pandas,for-loop,Python,Pandas,For Loop,我现在有下面的for循环,我想去掉它,因为它太慢了 for i in range(len(df)): df.loc[i,"date_time"] = datetime.datetime.strptime(str(df.loc[i,"Date"] + ' ' + df.loc[i,"Time"]), '%d-%m-%Y %H:%M:%S') 输入: index. date time 1 10-10-20
for i in range(len(df)):
df.loc[i,"date_time"] = datetime.datetime.strptime(str(df.loc[i,"Date"] + ' ' + df.loc[i,"Time"]), '%d-%m-%Y %H:%M:%S')
输入:
index. date time
1 10-10-2010 00:00:00
2 10-10-2010 00:00:03
3 10-10-2010 00:00:06
4 10-10-2010 00:00:09
所需输出,其中一列包含datetime对象:
index. date time date_time
1 10-10-2010 00:00:00 10-10-2010 00:00:00
2 10-10-2010 00:00:03 10-10-2010 00:00:00
3 10-10-2010 00:00:06 10-10-2010 00:00:00
4 10-10-2010 00:00:09 10-10-2010 00:00:00
尽可能使用向量运算而不是循环。类似的方法应该有效(在附带的样本上测试):
请将示例输入与预期输出共享。您可以使用
df['Date'].apply()
。然后在应用程序中具有转换功能。您可以查看文档@AnuragReddy,。apply()
仍然会在行上迭代,因此速度同样慢。
df['date_time'] = pd.to_datetime(df['date'] + ' ' + df['Time'])