将熊猫数据框的行放入列表形式

时间:2020-07-31 05:25:43

标签: python pandas dataframe pandas-groupby

我的熊猫数据框的格式为

    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但对于大熊猫:))吗?预先感谢!

1 个答案:

答案 0 :(得分:3)

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]