我有以下包含两个日期的数据框,其中一个包含时区。
import React from "react";
import "./App.css";
import { Container } from "react-bootstrap";
import SignUp from "./components/common/SignUp";
import { AuthProvider } from "./contexts/AuthContext";
function App() {
/* const classes = useStyles(); */
return (
<AuthProvider>
<Container
className="d-flex align-items-center justify-content-center"
style={{ minHeight: "100vh"}}
>
<div className="w-120" style={{ maxWidth: "400px"}}>
<SignUp/>
</div>
</Container>
</AuthProvider>
)
}
export default App;
这是我将它们从字符串转换为日期时间的方法:
df = pd.DataFrame(np.array([[10, "2021-06-13 12:08:52.311 UTC", "2021-03-29 12:44:33.468"],
[36, "2019-12-07 12:18:02.311 UTC", "2011-10-15 10:14:32.118"]
]),
columns=['col1', 'date1', 'date2'])
df
返回:
df["date1"]= pd.to_datetime(df["date1"])
df["date2"]= pd.to_datetime(df["date2"])
在某些时候,我需要比较这两个日期以查找相同的值。为此,我需要将它们以相同的格式写入相同的位数。这说, 如何从 date1 中删除时区,使其与 date2 中的格式相同?
col1 date1 date2
0 10 2021-06-13 12:08:52.311000+00:00 2021-03-29 12:44:33.468
1 36 2019-12-07 12:18:02.311000+00:00 2011-10-15 10:14:32.118
作为 utc=None
中的默认值,因此不起作用...
我假设两个日期都是 UTC。在原始数据中,这些是不同数据集的一部分,这就是它们具有不同格式的原因。
答案 0 :(得分:1)
您可以执行以下两种操作之一:
df["date1"]= pd.to_datetime(df["date1"], format="%Y-%m-%d %H:%M:%S.%f UTC")
df["date2"]= pd.to_datetime(df["date2"], format="%Y-%m-%d %H:%M:%S.%f")
>>> df
col1 date1 date2
0 10 2021-06-13 12:08:52.311 2021-03-29 12:44:33.468
1 36 2019-12-07 12:18:02.311 2011-10-15 10:14:32.118
或者:
df["date1"]= pd.to_datetime(df["date1"].str.replace(" UTC", ""))
df["date2"]= pd.to_datetime(df["date2"])
>>> df
col1 date1 date2
0 10 2021-06-13 12:08:52.311 2021-03-29 12:44:33.468
1 36 2019-12-07 12:18:02.311 2011-10-15 10:14:32.118