Python 带有连接列的数据帧

Python 带有连接列的数据帧,python,pandas,Python,Pandas,我有一个熊猫数据框,看起来像下面的代码。我需要添加一个动态列,将序列中的每个值连接到给定行之前。循环听起来像是逻辑解决方案,但在非常大的数据帧(1M+行)上效率会非常低 user_id=[1,1,1,2,2,3,3,3,3] 变量=[“A”、“B”、“C”、“D”、“A”、“B”、“C”、“A”、“B”、“C”、“D”、“E”] 序列=[0,1,2,3,0,1,2,0,1,2,3,4] df=pd.DataFrame(列表(zip(ID,变量,序列)),列=['User_ID','Variabl

我有一个熊猫数据框,看起来像下面的代码。我需要添加一个动态列,将序列中的每个值连接到给定行之前。循环听起来像是逻辑解决方案,但在非常大的数据帧(1M+行)上效率会非常低

user_id=[1,1,1,2,2,3,3,3,3]
变量=[“A”、“B”、“C”、“D”、“A”、“B”、“C”、“A”、“B”、“C”、“D”、“E”]
序列=[0,1,2,3,0,1,2,0,1,2,3,4]
df=pd.DataFrame(列表(zip(ID,变量,序列)),列=['User_ID','Variables','Seq']
#需要动态添加列
df['dynamic_column']=[“A”、“AB”、“ABC”、“ABCD”、“A”、“AB”、“ABC”、“A”、“AB”、“ABC”、“ABCD”、“ABCDE”]

我需要能够基于用户id和序列号高效地创建动态列。我使用了pandas shift函数,结果就是必须创建一个循环。正在寻找一些简单有效的方法来创建动态连接列。

您的问题有点含糊不清,但这样做是否可行

df['DynamicColumn'] = df['user_id'] + df['sequencenumber']

这是
cumsum

df['dynamic_column'] = df.groupby('User_ID').Variables.apply(lambda x: x.cumsum())
输出:

0         A
1        AB
2       ABC
3      ABCD
4         A
5        AB
6       ABC
7         A
8        AB
9       ABC
10     ABCD
11    ABCDE
Name: Variables, dtype: object

你所说的“给定的Sequence”是什么?我怀疑这是他在寻找的。上面的答案让我得到了我所需要的。谢谢你,这是完美和超快速的。