Python 如何在数据帧上创建具有连接的交叉表?

Python 如何在数据帧上创建具有连接的交叉表?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个熊猫数据框日志 order row column 1 3 B 2 6 U 3 3 U 4 7 C 5 6 B 我想创建一个数据帧,其中每一行对应于行中的一个数字,序列值是通过按照顺序将列中的值连接起来创建的: sequence 3 BU 6 UB 7 C 有(快速)的方

我有一个熊猫数据框日志

  order  row   column     
  1      3     B   
  2      6     U        
  3      3     U       
  4      7     C
  5      6     B
我想创建一个数据帧,其中每一行对应于行中的一个数字,序列值是通过按照顺序将列中的值连接起来创建的:

        sequence
  3     BU
  6     UB
  7     C
有(快速)的方法吗?

这就行了

df.groupby('row')['column'].apply(lambda x: ''.join(list(x)))
输出

3    BU
6    UB
7     C
这就行了

df.groupby('row')['column'].apply(lambda x: ''.join(list(x)))
输出

3    BU
6    UB
7     C

首先
sort_值
按顺序排序,然后
行上的
groupby
,并确保使用
sort=False
。最后,我们使用
GroupBy.agg
join
字符串:

dfg = (
    df.sort_values("order")
    .groupby("row", sort=False)["column"].agg("".join)
    .reset_index(name="sequence")
)

首先
sort_值
按顺序排序,然后
行上的
groupby
,并确保使用
sort=False
。最后,我们使用
GroupBy.agg
join
字符串:

dfg = (
    df.sort_values("order")
    .groupby("row", sort=False)["column"].agg("".join)
    .reset_index(name="sequence")
)