首页 > 解决方案 > Python,将多行连接为一个

问题描述

有没有办法将多行连接为一个,如下例所示:

   Name   Date_1     Date_2     Date_3
0  name1     11        NaT       NaT
1  name1     NaT       12        NaT
2  name1     NaT       NaT       43
3  name2     12        NaN       NaT
4  name2     NaT       Text      NaT

所以它可能是 NaT 或 NaN。

我正在寻找它:

 Name   Date_1     Date_2     Date_3
 name1     11        12        43
 name2     12        Text       NaT

提前致谢

标签: pythonpandas

解决方案


您尚未说明要如何处理重复项,但要获得最小值/最大值,您可以使用以下内容:

import pandas as pd

df = pd.DataFrame(
    [
        {"name": "name1", "date_1": 11},
        {"name": "name1", "date_2": 12},
        {"name": "name1", "date_3": 43},
        {"name": "name2", "date_1": 12},
    ],
    columns=["name", "date_1", "date_2", "date_3"],
)

df.groupby('name').max().reset_index()

这使:

    name  date_1  date_2  date_3
0  name1    11.0    12.0    43.0
1  name2    12.0     NaN     NaN

推荐阅读