作者pttnewborn (pttnewborn)
看板Python
標題[問題] 請問項目計算
時間Sun Nov 22 22:35:37 2020
大家好:
最近剛學 Python ,學習到從抓取奧運csv檔進行相關統計,
其中練習2--我要算某國的得獎總數
練習2答案如下:
events = df[df['NOC'] == 'CHN'].drop_duplicates
(subset = ['Event', 'Games'], inplace = False)
我的問題
Q1:我在導入CSV時,已經做過
p_duplicates(subset = ["Name","Sex","Age","Height","Weight","Team","NOC","Games","Year","Season","City","Sport","Event","Medal"],
inplace = True)
為什麼練習2還要再去重?
Q2:我本來是用events = df[df['NOC'] == 'CHN'].counts()
和events = df[df['NOC'] == 'CHN'].value_counts()
不過第一個數字不對,第二個出現錯誤
請問問題在哪?
Q3: inplace=True/False ,書上是說,True是在原資料做去重,False是另外創建一組資料,
可是True時,我看他資料df還是未去重,是我誤會了嗎?
請大大幫忙指點,thx
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.117.51.124 (中國)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1606055739.A.5F4.html
推 TuCH: 去重是甚麼 去重複? 11/22 23:28
推 TitanEric: 樓上 應該是 11/22 23:59
推 TuCH: Q1 多做幾次去重複除了浪費運算 不會影響結果 11/23 00:43
→ TuCH: Q2 我猜是要指定欄位變成series才會變成你的樣子 11/23 00:44
→ TuCH: Q3 理論上你應該沒理解錯 可以你要show一下你的結果才能知道 11/23 00:45
→ TuCH: 問題出在哪 11/23 00:45
→ TuCH: 問題模糊 資料不清楚 其實很難給你想要的答案 11/23 00:46
推 art1: 因為基於所有欄位進行的去除重複很容易跟只基於某些欄位的去 11/23 05:31
→ art1: 除重複的結果不一樣 11/23 05:31
→ art1: 問題二應該是因為 counts 會計算到重複值,而 value_counts 11/23 05:38
→ art1: 則要看是出現什麼錯誤 11/23 05:39
推 art1: 我看書上是寫可以用 nuniques() 來替代 11/23 05:42