pandas将字符串转化为年月日
时间: 2023-08-29 15:07:08 浏览: 72
可以使用 pandas 中的 `to_datetime()` 函数将字符串转化为日期格式,并指定日期格式字符串。示例如下:
```python
import pandas as pd
# 创建一个包含日期字符串的 Series
date_strings = pd.Series(['2022-01-01', '2022-01-02', '2022-01-03'])
# 将日期字符串转化为日期格式
dates = pd.to_datetime(date_strings, format='%Y-%m-%d')
# 输出日期格式
print(dates)
```
输出结果为:
```
0 2022-01-01
1 2022-01-02
2 2022-01-03
dtype: datetime64[ns]
```
在 `to_datetime()` 函数中,`format` 参数指定了日期格式字符串,其中 `%Y` 表示四位数的年份,`%m` 表示两位数的月份,`%d` 表示两位数的日期。使用不同的日期格式字符串可以将不同格式的日期字符串转化为日期格式。
相关问题
pandas处理文件,将年月日合并为一列 date
可以使用 pandas 的 apply 函数结合 lambda 表达式来将年月日合并为一列 date。例如,如果 DataFrame 中有名为 year、month 和 day 的列,可以使用以下代码将它们合并为 date 列:
```python
df['date'] = df.apply(lambda row: '{}-{}-{}'.format(row['year'], row['month'], row['day']), axis=1)
```
其中,`axis=1` 表示对每行数据进行操作。`apply` 函数会将每行数据传递给 lambda 表达式,lambda 表达式将年月日合并为一个字符串,并赋值给新的 date 列。
如果原 DataFrame 中的 year、month、day 列数据类型不是字符串,需要先转换为字符串再进行合并,可以使用 astype 函数:
```python
df['date'] = df.apply(lambda row: '{}-{}-{}'.format(row['year'].astype(str), row['month'].astype(str), row['day'].astype(str)), axis=1)
```
注意,上述代码中的连接符 `-` 可以根据实际情况替换为其他符号。
pandas日期转字符串
要将 pandas 的日期转换为字符串,可以使用 `strftime()` 方法。它的语法如下:
```python
df['日期列'].dt.strftime('格式化字符串')
```
其中,`df['日期列']` 是一个 pandas DataFrame 中的日期列,`strftime()` 方法可以将日期格式化为指定的字符串格式。
例如,如果要将日期格式化为年月日的形式,可以使用以下代码:
```python
import pandas as pd
# 创建一个日期数据
df = pd.DataFrame({'日期': pd.date_range('2022-01-01', periods=3)})
# 将日期格式化为年月日的形式
df['日期'].dt.strftime('%Y-%m-%d')
```
输出结果为:
```
0 2022-01-01
1 2022-01-02
2 2022-01-03
Name: 日期, dtype: object
```
其中,`'%Y-%m-%d'` 就是格式化字符串,它表示年份、月份和日期分别用四位数、两位数和两位数表示。