我有一个名为player_traits的列,它包含每个玩家的零、一个或多个特征。“易做伪证”、“长射者”、“权力头”等。
我希望更改此列,以便如果单元格包含“损伤倾向”,则将其值转换为1,如果单元格不包含“损伤倾向”,则将其值转换为0。
A screenshot of my dataframe, with player_traits on the rightmost column
任何小费都很受欢迎
发布于 2022-07-12 12:51:15
这将遍历所有不同的特征,并为它们分配一个二进制值:
###### Recreate OP's data########
import pandas as pd
traits = ['Injury Prone', 'Long Shot Taker', 'Power Header']
players = ["Player1", "Player2"]
player_traits = ['Injury Prone, Long Shot Taker', 'Power Header']
df = pd.DataFrame({"Player":players, "Player_Traits":player_traits})
#################################
df["Player_Traits"] = [1 if "Injury Prone" in x else 0 for x in df.Player_Traits]
df输出:
Player Player_Traits
0 Player1 1
1 Player2 0发布于 2022-07-12 21:06:32
df['Player_Traits'] = df.Player_Traits.str.contains("Injury Prone").astype(int)https://stackoverflow.com/questions/72952426
复制相似问题