亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據其他兩列的條件文本值在 pandas 中創建一個新列

根據其他兩列的條件文本值在 pandas 中創建一個新列

慕容森 2023-10-05 16:40:19
如何根據其他兩列的條件文本值在 pandas 中創建新列?初始表 -Specialty   Category  Spec A      Cat A     Spec A      Cat B     Spec A      Cat CSpec A      Cat DSpec B      Cat A     Spec B      Cat B     Spec B      Cat C Spec B      Cat D    條件邏輯 = Cat A 和 Cat D 未重命名為“其他” Cat B 和 Cat C 重命名為“其他” 專業沒有變化。新列用于根據上述邏輯連接專業和類別。該表將輸出到 -Specialty   Category  Specialty_groupSpec A      Cat A     Spec A Cat A       Spec A      Cat B     Spec A OtherSpec A      Cat C     Spec A OtherSpec A      Cat D     Spec A Cat D Spec B      Cat A     Spec B Cat ASpec B      Cat B     Spec B OtherSpec B      Cat C     Spec B OtherSpec B      Cat D     Spec B Cat D
查看完整描述

1 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

# create a mask based on your logic

mask = (df['Category'] == 'Cat A') | (df['Category'] == 'Cat D')

# assign a values to a new column using loc and join

df.loc[mask, 'Specialty_group'] = df[mask].agg(' '.join, axis=1)

# assign values to a column using loc with the opposite of your logic

df.loc[~mask, 'Specialty_group'] = df[~mask]['Specialty']+' Other'



  Specialty Category Specialty_group

0    Spec A    Cat A    Spec A Cat A

1    Spec A    Cat B    Spec A Other

2    Spec A    Cat C    Spec A Other

3    Spec A    Cat D    Spec A Cat D

4    Spec B    Cat A    Spec B Cat A

5    Spec B    Cat B    Spec B Other

6    Spec B    Cat C    Spec B Other

7    Spec B    Cat D    Spec B Cat D


查看完整回答
反對 回復 2023-10-05
  • 1 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號