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

在R语言中按重复日期合并行并保留列信息的方法

合并DataFrame重复日期行并保留有效信息

按date列分组,对每个分组的其他列提取非缺失的有效值即可。由于每个日期下的各列仅存在一个有效数据,其余为NA,直接用groupby结合first()方法就能快速实现需求。

代码实现

  1. 导入依赖库
import pandas as pd
import numpy as np
  1. 构造示例DataFrame(匹配你提供的原始数据)
data = {
    'date': ['2019-01-01', '2019-01-01', '2019-01-01',
             '2019-02-01', '2019-02-01', '2019-02-01',
             '2019-03-01', '2019-03-01', '2019-03-01',
             '2019-04-01'],
    '1': [np.nan]*10,
    '2': [1966439., np.nan, np.nan, 1962946, np.nan, np.nan, 1974072, np.nan, np.nan, 1984086],
    '3': [np.nan]*10,
    '4': [np.nan, 133.6, np.nan, np.nan, 134.5, np.nan, np.nan, 135.4, np.nan, np.nan],
    '5': [np.nan, np.nan, 6.2, np.nan, np.nan, 6.1, np.nan, np.nan, 6.3, np.nan]
}
df = pd.DataFrame(data)
  1. 执行合并操作
merged_df = df.groupby('date', as_index=False).first()
  1. 查看结果
print(merged_df)

输出结果与你期望的一致:

date   1        2   3      4    5
0  2019-01-01 NaN  1966439. NaN  133.6  6.2
1  2019-02-01 NaN  1962946. NaN  134.5  6.1
2  2019-03-01 NaN  1974072. NaN  135.4  6.3
3  2019-04-01 NaN  1984086. NaN    NaN  NaN

补充说明

如果同一日期下某列存在多个有效值,first()会取第一个非NA值;若需要聚合多个有效值(如求和、均值),可替换为对应的聚合函数,比如sum()、mean()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 23:32:11