【问题标题】:Convert directed graph to horizontal data format in pandas python在pandas python中将有向图转换为水平数据格式
【发布时间】:2022-11-29 08:28:58
【问题描述】:

我刚开始接触 python,对 pandas 几乎一无所知。

所以现在我有一个有向图,如下所示:

from ID to ID
13 22
13 56
14 10
14 15
14 16

现在我需要将它转换为水平数据格式,如下所示:

from ID To 0 To 1 To 2
13 22 56 NAN
14 10 15 16

我找到类似 Pandas Merge duplicate index into single index 的东西,但它似乎无法将行合并到不同的列中。

pandas会不会因为需要添加更多的列而使用NAN来填补这个过程中的空白?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    你可以做这样的事情来转换你的数据框,pandas 会自动为你使用这个解决方案的任意数量的列添加 NaN 值。

    df = df.groupby('from')['to'].apply(list)
    
    ## create the desired df from the lists
    df = pd.DataFrame(df.tolist(),index=df.index).reset_index()
    
    
    ## Rename columns
    df.columns = ["from ID"] + [f"To {i}" for i in range(1,len(df.columns))]
    
    

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多