Dt_Customer列的值为2012-04-09,2014-08-03,且是datetime64[ns]格式,怎么取出年份
时间: 2024-02-20 07:56:21 浏览: 16
如果 `Dt_Customer` 列的值已经是 `datetime64[ns]` 类型,那么可以直接使用 `.dt.year` 方法来提取年份。示例代码如下:
```python
import pandas as pd
# 创建包含示例数据的DataFrame
data = {'Dt_Customer': ['2012-04-09', '2014-08-03']}
df = pd.DataFrame(data)
# 将字符串转换为datetime类型
df['Dt_Customer'] = pd.to_datetime(df['Dt_Customer'])
# 提取年份
df['Year'] = df['Dt_Customer'].dt.year
print(df)
```
输出结果为:
```
Dt_Customer Year
0 2012-04-09 2012
1 2014-08-03 2014
```
在以上代码中,我们首先将字符串转换为 `datetime` 类型,然后使用 `.dt.year` 方法提取年份,并将其存储在一个新列 `Year` 中。
相关问题
将'20230304' 转化成 datetime64[ns] 并显示成2023-03-04 的日期格式
您可以使用 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` 对象。
python一个字段值2012-04-09怎么取年份
你可以使用 datetime 模块中的 datetime 类来解析日期字符串,然后访问该日期对象的 year 属性来获取年份。示例代码如下:
```python
from datetime import datetime
date_str = '2012-04-09'
date_obj = datetime.strptime(date_str, '%Y-%m-%d')
year = date_obj.year
print(year) # 输出:2012
```
首先使用 `datetime.strptime()` 方法将日期字符串解析为 datetime 对象,其中第二个参数 `'%Y-%m-%d'` 指定了日期字符串的格式。然后访问 `date_obj.year` 属性获取年份。以上代码输出的结果为 2012。