将'20230304' 转化成 datetime64[ns] 并显示成2023-03-04 的日期格式
时间: 2024-04-12 21:32:19 浏览: 119
您可以使用 Pandas 的 `to_datetime` 函数将日期字符串转换为 `datetime64[ns]` 类型,并使用 `dt.strftime` 函数将其格式化为指定的日期字符串格式。以下是示例代码:
```python
import pandas as pd
date_str = '20230304'
date_obj = pd.to_datetime(date_str, format='%Y%m%d')
formatted_date = date_obj.dt.strftime('%Y-%m-%d')
print(formatted_date)
```
输出结果:
```
2023-03-04
```
在上述代码中,我们使用 `to_datetime` 函数将日期字符串 `20230304` 转换为 `datetime64[ns]` 类型的日期对象 `date_obj`,并指定了输入字符串的格式为 `%Y%m%d`。然后,我们使用 `dt.strftime` 函数将日期对象格式化为 `%Y-%m-%d` 的日期字符串格式,即 `2023-03-04`。最后,我们直接打印输出格式化后的日期字符串。
请注意,`formatted_date` 是一个 Pandas 的 `Series` 对象,如果您只想获取单个日期值,可以使用 `.iloc[0]` 提取第一个元素,或者使用 `.item()` 方法将其转换为 Python 的 `datetime.date` 对象。
相关问题
datetime64[ns]转化为年和月
可以使用pandas库中的to_period()函数将datetime64[ns]类型的数据转化为年和月。示例代码如下:
import pandas as pd
# 假设需要转化的日期数据为date
date = pd.Timestamp('2022-03-15')
# 使用to_period()函数转化为年和月
year_month = date.to_period('M')
print(year_month) # 输出2022-03
如何将np的数组中的值从秒转化为pandas中不带日期的Datetime
可以使用`pandas.to_datetime()`函数将np数组中的秒值转换为pandas中的Datetime。具体步骤如下:
1. 导入pandas库:`import pandas as pd`
2. 定义一个包含秒值的np数组:`arr = np.array([1614025260, 1614025270, 1614025280])`
3. 将np数组转换为pandas的Series对象:`s = pd.Series(arr)`
4. 使用`pd.to_datetime()`函数将Series中的秒值转换为Datetime:`s = pd.to_datetime(s, unit='s')`
5. 输出转换后的结果:`print(s)`
完整代码如下:
```python
import numpy as np
import pandas as pd
arr = np.array([1614025260, 1614025270, 1614025280])
s = pd.Series(arr)
s = pd.to_datetime(s, unit='s')
print(s)
```
输出结果为:
```
0 2021-02-22 08:21:00
1 2021-02-22 08:21:10
2 2021-02-22 08:21:20
dtype: datetime64[ns]
```
可以看到,np数组中的秒值已经被转换为了pandas中的Datetime对象。
阅读全文