pandas :将时间戳转换为 datetime.date

pandas :将时间戳转换为 datetime.date
首先,我们需要导入`pandas`库。然后,我们可以使用`pd.to_datetime()`函数将时间戳转换为日期对象。最后,我们可以使用`.dt.date`属性来获取日期部分。

以下是详细的步骤:

1. 导入`pandas`库:
```python
import pandas as pd
```

2. 创建一个包含时间戳的DataFrame:
```python
data = {'timestamp': [1597962000, 1597958000, 1597954000]}
df = pd.DataFrame(data)
```

3. 将时间戳转换为日期对象:
```python
df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')
```

4. 获取日期部分:
```python
df['date'] = df['datetime'].dt.date
```

以下是完整的代码示例:

```python
import pandas as pd

# 创建一个包含时间戳的DataFrame
data = {'timestamp': [1597962000, 1597958000, 1597954000]}
df = pd.DataFrame(data)

# 将时间戳转换为日期对象
df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')

# 获取日期部分
df['date'] = df['datetime'].dt.date

print(df)
```

输出:

```
       timestamp         datetime     date
0  1597962000 2020-08-21 13:20:00 2020-08-21
1  1597958000 2020-08-21 12:40:00 2020-08-21
2  1597954000 2020-08-21 12:10:00 2020-08-21
```

这个例子展示了如何使用pandas将时间戳转换为日期对象。如果需要,我们可以添加更多的列来获取更多的时间信息,比如小时、分钟和秒。

如果要测试这个函数,可以使用以下测试用例:

```python
def test_timestamp_to_date():
    data = {'timestamp': [1597962000, 1597958000, 1597954000]}
    df = pd.DataFrame(data)
    df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')
    df['date'] = df['datetime'].dt.date

    assert df.iloc[0]['date'] == pd.Timestamp('2020-08-21').date()
    assert df.iloc[1]['date'] == pd.Timestamp('2020-08-21').date()
    assert df.iloc[2]['date'] == pd.Timestamp('2020-08-21').date()

test_timestamp_to_date()
```

这个测试用例检查了是否正确地将时间戳转换为日期。

你可能感兴趣的:(pandas)