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

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

如果dtype為類別(MemoryError),則ivot_table需要更多內(nèi)存

如果dtype為類別(MemoryError),則ivot_table需要更多內(nèi)存

人到中年有點(diǎn)甜 2021-03-30 15:14:26
我在pandas(pandas == 0.23.1)中遇到以下奇怪的錯誤:import pandas as pddf = pd.DataFrame({'t1': ["a","b","c"]*10000, 't2': ["x","y","z"]*10000, 'i1': list(range(5000))*6, 'i2': list(range(5000))*6, 'dummy':0})# works fast with less memorypiv = df.pivot_table(values='dummy', index=['i1','i2'], columns=['t1','t2'])d2 = df.copy()d2.t1 = d2.t1.astype('category')d2.t2 = d2.t2.astype('category')# needs > 20GB of memory and takes for everpiv2 = d2.pivot_table(values='dummy', index=['i1','i2'], columns=['t1','t2'])我想知道這是否是預(yù)期的,并且我做錯了什么,或者這是否是熊貓中的錯誤。dtype categoryfor應(yīng)該str不是非常透明的(對于此用例)?
查看完整描述

1 回答

?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個贊

這不是錯誤。正在發(fā)生的事情是pandas.pivot_table計算石斑魚類別的笛卡爾積。


這是已知的預(yù)期行為。在Pandas v0.23.0中,我們看到了的observed參數(shù)介紹pandas.groupby。設(shè)置observed=True僅包括觀察到的組合;它是False默認(rèn)。此參數(shù)尚未推廣到相關(guān)方法,例如pandas.pivot_table。我認(rèn)為應(yīng)該如此。


但是現(xiàn)在讓我們看看這意味著什么。我們可以使用一個示例數(shù)據(jù)框,看看print結(jié)果如何。


設(shè)置

我們使數(shù)據(jù)框大大縮小:


import pandas as pd


n = 10


df = pd.DataFrame({'t1': ["a","b","c"]*n, 't2': ["x","y","z"]*n,

                   'i1': list(range(int(n/2)))*6, 'i2': list(range(int(n/2)))*6,

                   'dummy':0})

沒有分類

這可能是您要尋找的。數(shù)據(jù)透視表中未顯示類別的不可觀察的組合。


piv = df.pivot_table(values='dummy', index=['i1','i2'], columns=['t1','t2'])

print(piv)


t1     a  b  c

t2     x  y  z

i1 i2         

0  0   0  0  0

1  1   0  0  0

2  2   0  0  0

3  3   0  0  0

4  4   0  0  0

帶類別

對于類別,結(jié)果中將考慮類別的所有組合,甚至是未觀察到的組合。這在計算上和內(nèi)存上都是昂貴的。此外,數(shù)據(jù)幀由NaN未觀察到的組合所控制。這可能不是您想要的。


d2 = df.copy()

d2.t1 = d2.t1.astype('category')

d2.t2 = d2.t2.astype('category')


piv2 = d2.pivot_table(values='dummy', index=['i1','i2'], columns=['t1','t2'])

print(piv2)


t1       a           b            c         

t2       x   y   z   x    y   z   x   y    z

i1 i2                                       

0  0   0.0 NaN NaN NaN  0.0 NaN NaN NaN  0.0

   1   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   2   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   3   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   4   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

1  0   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   1   0.0 NaN NaN NaN  0.0 NaN NaN NaN  0.0

   2   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   3   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   4   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

2  0   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   1   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   2   0.0 NaN NaN NaN  0.0 NaN NaN NaN  0.0

   3   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   4   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

3  0   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   1   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   2   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   3   0.0 NaN NaN NaN  0.0 NaN NaN NaN  0.0

   4   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

4  0   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   1   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   2   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   3   NaN NaN NaN NaN  NaN NaN NaN NaN  NaN

   4   0.0 NaN NaN NaN  0.0 NaN NaN NaN  0.0


查看完整回答
反對 回復(fù) 2021-04-09
  • 1 回答
  • 0 關(guān)注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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