Pandas 熊猫将序列指定给groupby结果

Pandas 熊猫将序列指定给groupby结果,pandas,group-by,Pandas,Group By,嗨,我对如何将一个系列分配给groupby结果有点不知所措 我有数据帧A和B: A = pd.DataFrame({'ID':[1,1,1,2,2,2],'TW':[0,1,0,0,1,0]}) B = pd.DataFrame({1:['A','B','C'], 2:['A','B','C']}) B的列表示A的ID信息。我想按ID将A分组,并指定B的相应列来替换TW数据。以下是我想要的: C = pd.DataFrame({'Date':[1,1,1,2,2,2],'TW':['A','B

嗨,我对如何将一个系列分配给groupby结果有点不知所措

我有数据帧A和B:

A = pd.DataFrame({'ID':[1,1,1,2,2,2],'TW':[0,1,0,0,1,0]})
B = pd.DataFrame({1:['A','B','C'], 2:['A','B','C']})
B的列表示A的ID信息。我想按ID将A分组,并指定B的相应列来替换TW数据。以下是我想要的:

C = pd.DataFrame({'Date':[1,1,1,2,2,2],'TW':['A','B','C','A','B','C']})

有人能帮上忙吗?

你就不能把
B
融化一下吗

>>> pd.melt(B, var_name='Date', value_name='TW')
   Date TW
0     1  A
1     1  B
2     1  C
3     2  A
4     2  B
5     2  C

@亚历山大的答案是显而易见的。但这是另一种方式

B.rename_axis('Date', 1).stack() \
    .reset_index('Date', name='TW') \
    .reset_index(drop=True)

附加问题:如果我只想让A['TW']=B如果A['Date']=1,我应该怎么做?
A.loc[A['Date']=1,'TW']=1……
我不确定你的意思,因为你会从
A
整个数据帧
B
中为给定的单元格赋值。