1.建一个DataFrame对象,存储时间信息。 2.将year列的缺失值替换为“2021", 将month列的缺失值替换为“9"3.删除所有重复的行。 4.将时间信息组合成时间,并将其添加到DataFrame对象的列末。
时间: 2024-09-23 22:09:59 浏览: 52
dataframe 按条件替换某一列中的值方法
首先,我们假设你已经有了一个DataFrame `df`,并且它有`year`和`month`这两列包含日期信息。下面是针对你的需求逐步操作:
1. **创建DataFrame对象存储时间信息**:
假设原始数据如下(使用pandas的Series表示):
```python
data = {'year': [2022, None, 2021, 2022], 'month': [8, None, 9, 7]}
df = pd.DataFrame(data)
```
2. **替换缺失值**:
使用`fillna()`函数替换`year`和`month`列的缺失值:
```python
df['year'].fillna(value="2021", inplace=True)
df['month'].fillna(value="9", inplace=True)
```
`inplace=True`表示直接修改原 DataFrame 而不是返回一个新的。
3. **删除重复行**:
可以使用`drop_duplicates()`函数:
```python
df.drop_duplicates(inplace=True)
```
4. **组合时间并添加到列尾**:
使用`pd.to_datetime`将年月列转换为datetime对象,然后组合成完整的日期时间:
```python
date_columns = ['year', 'month']
df[date_columns] = df[date_columns].apply(lambda row: pd.to_datetime(row).dt.strftime('%Y-%m')) # 保留年月格式
df['datetime_column'] = pd.to_datetime(df[date_columns].agg('-'.join, axis=1)) # 合并两列形成完整日期
df = df.drop(date_columns, axis=1) # 删除原始的年月列
# 现在'datetime_column'包含了完整的日期时间信息
```
阅读全文