Q19*_*980 0 python dataframe pandas jupyter jupyter-notebook
我有这个数据框:
Dt1 Dt2
0 8/21/19 8/31/19
1 8/21/19 8/31/19
2 8/21/19 8/31/19
3 8/30/19 8/31/19
Run Code Online (Sandbox Code Playgroud)
然后我写了这段代码:
for ind in df.index:
date_str1 = df['Dt1'][ind]
date_str2 = df['Dt2'][ind]
date_object1 = datetime.strptime(date_str1, " %m/%d/%y")
date_object2 = datetime.strptime(date_str2, " %m/%d/%y")
d = date_object2-date_object1
diff = d.days
print(diff)
Run Code Online (Sandbox Code Playgroud)
我的结果是:
10
10
10
1
Run Code Online (Sandbox Code Playgroud)
这就是我期望的结果,现在我要做的是针对数据帧中的每一行,我想创建一个新列(date_diff)并将这些结果添加到每一行中,所以最后我得到了类似的结果:
Dt1 Dt2 Date_diff
0 8/21/19 8/31/19 10
1 8/21/19 8/31/19 10
2 8/21/19 8/31/19 10
3 8/30/19 8/31/19 1
Run Code Online (Sandbox Code Playgroud)
您可以简单地执行以下操作:
df['Dt1'] = pd.to_datetime(df['Dt1'])
df['Dt2'] = pd.to_datetime(df['Dt2'])
df['Date_diff'] = df['Dt2'].sub(df['Dt1']).dt.days
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |