我有下面的 Dataframe ,我想创建一个新的列col2
,如果col1
中的值是BX,则在groupby ID之后从列value
中取值。
以及另一个新列col3
,如果来自“col1”的值是AX,则该列取来自value
的值。
ID value col1
A 1 BX
A 2 AX
B 3 BX
B 4 AX
C 5 BX
C 6 AX
期望df
ID value col1 col2 col3
A 1 BX 1 2
A 2 AX 1 2
B 3 AX 4 3
B 4 BX 4 3
C 5 BX 5 6
C 6 AX 5 6
2条答案
按热度按时间vlju58qv1#
可以执行两种合并:一个是
col1 = 'BX'
,另一个是col1 = 'AX'
。输出:
goucqfw62#
假设
ax
和bx
只能有一个值,请尝试使用pivot
和merge
。Pivot
将采用col1
中的所有值,并为每个唯一值创建新列。合并时,col1
中的所有唯一值将作为新列添加到new_df
中