第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

PANDAS 分位數(shù)根據(jù)我們的提問方式給出不同的答案

PANDAS 分位數(shù)根據(jù)我們的提問方式給出不同的答案

MMTTMM 2023-01-04 15:46:52
兩天前的新問題。當(dāng)您擁有大量數(shù)據(jù)時(shí),PANDAS 可以讓您在生成統(tǒng)計(jì)數(shù)據(jù)的同時(shí)就地過濾內(nèi)容,因此您不必為所有內(nèi)容創(chuàng)建新的數(shù)據(jù)框?,F(xiàn)在,我懷疑這樣做有細(xì)微差別,因?yàn)橐詢煞N不同的方式做事 - 一種是“智能”方式,一種是“明確”方式,給了我非常不同的答案,一種顯然是正確的(明確的),一個(gè)顯然是錯(cuò)誤的(聰明的方式)。有人可以指出我所缺少的方向。這是細(xì)節(jié)。我有 250 萬行數(shù)據(jù),描述了一系列不同設(shè)備類型的故障時(shí)間。其中兩個(gè)的描述性統(tǒng)計(jì)數(shù)據(jù)如下。(請(qǐng)注意,這些實(shí)際上是采礦設(shè)備,但我必須清理一些東西,所以我已經(jīng)替換了名稱)。                                   Count        Min        Mean          MaxCC_CauseLocationEquipmentType                                           Coffee Machines                    204136  0.000556   71.797146  23407.41667Blenders                            52424  0.008333  750.880591  23077.79167如果我嘗試獲取設(shè)備故障時(shí)間的分位數(shù),使用print(df2.groupby("CC_CauseLocationEquipmentType").quantile([.1, .25, .5, .75,0.9,0.95,0.99,0.99999]))然后我看到以下分位數(shù)。
查看完整描述

2 回答

?
滄海一幻覺

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊

很有意思。至少在我的 Pandas (0.25.1) 版本中顯然存在一個(gè) bug df.groupby(...).quantile(<array-like>)。該代碼路徑是不同的,甚至在非常簡單的例子中似乎也被打破了,比如:


df = pd.DataFrame(

    {"A": [0., 0., 0.], "B": ["X", "Y", "Z"]}

)

result = df.groupby("B").quantile([0.5, 0.9])

雖然它適用于 2 元素版本:


df = pd.DataFrame(

    {"A": [0., 0.], "B": ["X", "Y"]}

)

result = df.groupby("B").quantile([0.5, 0.9])

我會(huì)避免在類似數(shù)組的對(duì)象上使用 groupby 和分位數(shù),直到代碼被修復(fù),即使在它現(xiàn)在可以工作的情況下也是如此,因?yàn)樗芸赡苋菀壮鲥e(cuò)。


Blame 還顯示了很多相當(dāng)新鮮的更新(10 個(gè)月、16 個(gè)月)也正是處理這些代碼片段。


查看完整回答
反對(duì) 回復(fù) 2023-01-04
?
慕妹3242003

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊

您在兩個(gè)示例中都看不到分位數(shù)在起作用。只有零,每個(gè)組只有一個(gè)元素,所以結(jié)果總是零。還是我在這里錯(cuò)了?


我有 pandas 0.25.3 并獲得有用的結(jié)果


import pandas as pd


df = pd.DataFrame(

    {"A": [1., 2., 3., 4., 5., 6.], "B": ["X", "X", "Y", "Y", "Z", "Z"]}

)

result = df.groupby("B").quantile([0.5, 0.9])

print(result)

輸出:


        A

B         

X 0.5  1.5

  0.9  1.9

Y 0.5  3.5

  0.9  3.9

Z 0.5  5.5

  0.9  5.9

如果它適用于傳遞給你的單個(gè)數(shù)字,quantiles()你可以破解類似


q = [0.2, 0.5, 0.9]

res = [df.groupby("B").quantile(_).loc['X', 'A'] for _ in q]


df_q = pd.DataFrame({'A':res, 'quantiles':q})


print(df_q)

輸出:


     A  quantiles

0  1.2        0.2

1  1.5        0.5

2  1.9        0.9

直到它被修復(fù)。


查看完整回答
反對(duì) 回復(fù) 2023-01-04
  • 2 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)