python DataFrame时间列中如何提取出年月
时间: 2023-08-04 10:32:44 浏览: 128
可以使用 pandas 库中的 `dt` 属性来提取时间列中的年月信息。
假设 DataFrame 中的时间列名为 `time`,则可以使用以下代码将时间列拆分为年月两列:
```python
import pandas as pd
df['year'] = df['time'].dt.year
df['month'] = df['time'].dt.month
```
其中,`dt.year` 返回时间列中的年份信息,`dt.month` 返回时间列中的月份信息。将这两个属性赋值给新的列即可。
相关问题
将dataframe中一列数据以年月分组
好的,让我想一想。您可以使用 pandas 库中的 groupby 方法来按照年月分组。示例代码如下:
```python
import pandas as pd
# 创建一个示例 dataframe
data = {
'日期': ['2020-01-01', '2020-01-02', '2020-02-05', '2020-02-20', '2020-03-07', '2020-04-01'],
'数值': [10, 20, 30, 40, 50, 60]
}
df = pd.DataFrame(data)
# 将日期转换成 datetime 类型
df['日期'] = pd.to_datetime(df['日期'])
# 按照年月分组
grouped = df.groupby(pd.Grouper(key='日期', freq='M'))
result = grouped['数值'].sum()
print(result)
```
输出结果:
```
日期
2020-01-31 30
2020-02-29 70
2020-03-31 50
2020-04-30 60
Freq: M, Name: 数值, dtype: int64
```
以上代码中,我们首先创建了一个示例 dataframe,并将其中的日期列转换成了 datetime 类型。然后,我们使用 groupby 方法,按照日期列进行分组。在这里,我们使用了 pd.Grouper 对象和 freq 参数来指定按照年月进行分组。最后,我们将分组后的数值列相加,得到了以年月分组后的结果。
希望这个回答能够帮到您,如果还有什么问题,请继续提出!
DataFrame 时间列中如何转换为时间戳格式并只保留年月日
可以使用 pandas 中的 `to_datetime()` 方法将 DataFrame 中的时间列转换为时间戳格式,然后使用 `dt.date` 方法只保留年月日。示例代码如下:
```python
import pandas as pd
# 假设你的 DataFrame 叫做 df,时间列叫做 time
df['time'] = pd.to_datetime(df['time']).dt.date
print(df['time'])
```
这将把 DataFrame 中的时间列转换为时间戳格式并只保留年月日,然后输出。
阅读全文