用pd.to_datetime使用在dataframe的一列数据上
时间: 2024-03-15 08:16:21 浏览: 112
可以使用 `pd.to_datetime()` 函数将 DataFrame 中的一列数据转换为日期时间格式。示例代码如下:
```python
import pandas as pd
# 创建示例 DataFrame
df = pd.DataFrame({'date': ['2022-01-01', '2022-01-02', '2022-01-03'], 'value': [1, 2, 3]})
# 将 'date' 列转换为日期时间格式
df['date'] = pd.to_datetime(df['date'])
# 查看转换结果
print(df.info())
```
输出结果:
```
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 date 3 non-null datetime64[ns]
1 value 3 non-null int64
dtypes: datetime64[ns](1), int64(1)
memory usage: 176.0 bytes
None
```
可以看到,`df['date']` 列已经成功转换为了日期时间格式。
相关问题
days_scr=(pd.to_datetime(scr_time)-pd.to_datetime(visit_date)).map(lambda x:x.days)
这行代码是将一个 Pandas DataFrame 中的两列数据(scr_time 和 visit_date)转换为日期格式,并计算两个日期之间的天数差,然后将结果存储在名为 days_scr 的新列中。具体来说,pd.to_datetime() 函数将两个列转换为 Pandas 的日期时间格式,然后使用 map() 函数和 lambda 表达式计算两个日期之间的天数差,并将结果存储在新列中。
df_new = df[(df['Date Local'] >= pd.to_datetime('20070101')) & (df['Date Local'] <= pd.to_datetime('20071231'))]
这段代码是用来筛选 DataFrame 中 'Date Local' 列在 2007 年 1 月 1 日至 12 月 31 日之间的数据。具体解释如下:
- `pd.to_datetime('20070101')` 将字符串 '20070101' 转换为 pandas 中的日期格式,表示 2007 年 1 月 1 日。
- `pd.to_datetime('20071231')` 将字符串 '20071231' 转换为 pandas 中的日期格式,表示 2007 年 12 月 31 日。
- `df['Date Local'] >= pd.to_datetime('20070101')` 得到一个布尔型 Series,表示 DataFrame 中 'Date Local' 列中的日期是否大于或等于 2007 年 1 月 1 日。
- `df['Date Local'] <= pd.to_datetime('20071231')` 得到一个布尔型 Series,表示 DataFrame 中 'Date Local' 列中的日期是否小于或等于 2007 年 12 月 31 日。
- `&` 是逻辑与运算符,将两个布尔型 Series 进行逐元素的逻辑与运算,得到一个新的布尔型 Series,表示 DataFrame 中 'Date Local' 列中的日期是否在 2007 年 1 月 1 日至 12 月 31 日之间。
- 最后,将这个新的布尔型 Series 传递给 DataFrame 的行索引,得到一个新的 DataFrame,其中只包含 'Date Local' 列在 2007 年 1 月 1 日至 12 月 31 日之间的数据。
阅读全文
相关推荐
















