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

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

給定另一列值,計算一列上一次性出現的值

給定另一列值,計算一列上一次性出現的值

嗶嗶one 2023-07-05 11:12:06
所以,我有這樣的數據集: df=Id    Pos        Salary  year                               00    Chief      2000    200301    Assistant  1800    200302    Assistant  1950    200303    Analyst    5200    200304    Guard      1000    200305    Chief      2500    200406    Service     800    200307    Exec      10000    200508    Exec      12000    200509    Sales      1100    2007Pos我被要求計算2003 年只有一個人持有多少個“ ”。(在本例中,該數字為 4,因為 pos“助理”由 2 個人持有)通過跑步(df.duplicated(subset=['Pos'], keep=False)).sum()year我在不考慮列“ ”的情況下獲得了單次出現的計數我試過(df.duplicated(subset=['Pos', 'year'], keep=False)).sum()pos但隨后它會計算和的單次出現次數years。(總共 6 個:4 個用于所有年份中僅由一個人擔任的職位,加上 2 個用于“年份”中不重復的行)我相信我需要使用 df.groupby,但我不確定語法。有任何想法嗎?提前致謝
查看完整描述

1 回答

?
月關寶盒

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

year == 2003在查找重復項之前,您可以先提取行的子集。
此外,您還需要在計算總和之前反轉結果,因為duplicated會將重復的出現標記為 True,而您需要唯一出現的總和。
嘗試這個:
(~(df[df.year==2003].duplicated(subset=['Pos'], keep=False))).sum()

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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