【问题标题】:Putting rows of pandas dataframe into list form将熊猫数据框的行放入列表形式
【发布时间】:2020-07-31 05:25:43
【问题描述】:

我有一个表单的 pandas 数据框

    T1  T2
0   A   B
1   C   D
2   B   C
3   D   E
4   F   A

我想生成另一个熊猫数据框,其中列出了 T1 中的每个唯一项目,T2 有自己的行,并且有一列包含该唯一项目的名称,一列包含它共享的项目列表原始数据框中的行。例如,在这种情况下,我会寻找以下形式的东西:

    Name    List
0   A   [B, F]
1   B   [A, C]
2   C   [D, B]
3   D   [C, E]
4   E   [D]
5   F   [A]

有人可以建议一个适当的 pandonic(比如 pythonic,但对于 pandas :))方法来做到这一点?提前致谢!

【问题讨论】:

    标签: python pandas dataframe pandas-groupby


    【解决方案1】:

    IIUC,交换列并使用pandas.DataFrame.columns

    df2 = df.copy()
    df2.columns = df.columns[::-1]
    new_df = pd.concat([df, df2])
    new_df.groupby("T1")["T2"].apply(list).reset_index()
    

    输出:

      T1      T2
    0  A  [B, F]
    1  B  [C, A]
    2  C  [D, B]
    3  D  [E, C]
    4  E     [D]
    5  F     [A]
    

    【讨论】:

    • 这个答案似乎和下面的答案有同样的问题——假设有重复的行。 [A B]、[A B] 和 [B A]。在我的应用程序中,我希望 A 的列表包含 [B, B, B](B 出现 3 次,不必相邻)
    猜你喜欢
    • 2020-03-23
    • 2019-10-12
    • 2015-11-30
    • 2014-03-28
    • 2020-04-02
    • 2015-07-31
    • 2017-08-09
    • 2017-08-25
    • 2019-06-05
    相关资源
    最近更新 更多