我有以下名为Band_data的df:
Band name Band players
B1 P1
B2 P1; P2
目标是使该df具有以下形状:
Band name P1 P2
B1 1 0
B2 1 1
以下内容似乎无效:
Players = ['P1', 'P2']
for player in Players:
Band_data[player] = np.where(player in Band_data["Band players"], 1, 0)
Band_data.drop(["Band players"], axis = 1)
因为它返回:
Band name P1 P2
B1 0 0
B2 0 0
目标当然是将其用于df中的任意多个频段,这只是一个小例子。 为什么这不是正确的方法以及如何正确实现呢?
答案 0 :(得分:2)
IIUC get_dummies
yourdf=df.set_index('Band name')['Band layers'].str.get_dummies(' ;').reset_index()
yourdf
Bandname P1 P2
0 B1 1 0
1 B2 1 1