📌  相关文章
📜  python pandas数据框列日期到字符串 - Python(1)

📅  最后修改于: 2023-12-03 15:18:57.912000             🧑  作者: Mango

Python pandas数据框列日期到字符串

在Python的pandas库中,我们可以用DataFrame来处理各种类型的数据,包括日期时间数据。有时候我们需要把一个日期类型的列转换成字符串类型,这样我们可以更方便的处理和读取数据。在本文中,我们将讨论如何使用pandas把一个日期类型的列转换成字符串类型。

首先,我们需要构建一个DataFrame,包含一个日期类型的列,例如:

import pandas as pd

data = {'date': ['2021-09-01', '2021-09-02', '2021-09-03', '2021-09-04']}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
print(df)

结果应该如下:

        date
0 2021-09-01
1 2021-09-02
2 2021-09-03
3 2021-09-04

现在,我们已经有一个包含日期类型的列的DataFrame。现在我们需要把这个列转换成字符串类型。

我们可以使用strftime函数来进行转换。strftime(string format time)函数可以将日期类型的数据格式化成指定的字符串。例如,我们可以将日期转换成YYYY-MM-DD格式的字符串。

df['date_str'] = df['date'].dt.strftime('%Y-%m-%d')
print(df)

输出结果如下:

        date    date_str
0 2021-09-01  2021-09-01
1 2021-09-02  2021-09-02
2 2021-09-03  2021-09-03
3 2021-09-04  2021-09-04

在这个例子中,我们添加了一个新的列"date_str",这个新列包含了我们转换后的字符串。

在使用strftime函数时,我们需要指定一个格式字符串,这个格式字符串告诉strftime函数如何格式化日期。在本例中,我们使用"%Y-%m-%d"来指定日期格式。其中,%Y表示年份,%m表示月份,%d表示日期。

除了上述例子中使用的"%Y-%m-%d"格式外,strftime函数还可以支持很多其他的格式,例如:

  • %m/%d/%Y: MM/DD/YYYY 格式的日期
  • %d-%m-%y: DD-MM-YY 格式的日期
  • %H:%M:%S: HH:MM:SS 格式的时间
  • %I:%M:%S %p: HH:MM:SS PM 格式的时间

具体的格式可以参考Python的官方文档。

完整代码如下:

import pandas as pd

data = {'date': ['2021-09-01', '2021-09-02', '2021-09-03', '2021-09-04']}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
df['date_str'] = df['date'].dt.strftime('%Y-%m-%d')
print(df)

在本例中,我们成功的把一个日期类型的列转换成字符串类型,通过这种方式,我们可以更方便的处理和分析数据。