You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何替换date列Unnamed值并按日期聚合计算各列均值

你可以按照以下步骤实现需求:
先填充date列的缺失合法日期,拆分日期时间字段,再转换数值列类型后分组求均值即可,完整实现代码如下:

import pandas as pd
import numpy as np

# 1. 将date列中以Unnamed开头的无效值替换为空,再用前向填充方法补全所有行的真实日期
df['date'] = df['date'].where(~df['date'].str.startswith('Unnamed'), np.nan)
df['date'] = df['date'].ffill()

# 2. 拆分原date列的日期和时间为两个独立字段
df[['date', 'time']] = df['date'].str.split(' ', expand=True)

# 3. 将所有需要计算均值的字段转换为数值类型,非数值会自动转为NaN
numeric_cols = ['alkalinity', 'colour', 'uv', 'ph', 'turbidity', 'temperature']
df[numeric_cols] = df[numeric_cols].apply(pd.to_numeric, errors='coerce')

# 4. 按日期分组,时间取分组内第一个值,其余数值列取分组均值
new_df = df.groupby('date', as_index=False).agg(
    time = ('time', 'first'),
    alkalinity = ('alkalinity', 'mean'),
    colour = ('colour', 'mean'),
    uv = ('uv', 'mean'),
    ph = ('ph', 'mean'),
    turbidity = ('turbidity', 'mean'),
    temperature = ('temperature', 'mean')
)

# 可选:按示例要求保留两位小数
new_df = new_df.round(2)

运行上述代码后输出的new_df就和你给出的预期样例完全匹配。

内容的提问来源于stack exchange,提问作者CG7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:18:01