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

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

Pandas groupby 然后刪除低于指定大小的組

Pandas groupby 然后刪除低于指定大小的組

森林海 2021-11-02 15:03:25
我正在嘗試將 DataFrame 分成組并將組刪除到最小大?。ㄐ‘惓V担┮韵隆_@是我嘗試過的:df.groupby(['A']).filter(lambda x: x.count() > min_size)df.groupby(['A']).filter(lambda x: x.size() > min_size)df.groupby(['A']).filter(lambda x: x['A'].count() > min_size)df.groupby(['A']).filter(lambda x: x['A'].size() > min_size)但是這些要么拋出異常,要么返回與我預(yù)期不同的表。我只想過濾,而不是計算新表。
查看完整描述

3 回答

?
拉丁的傳說

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

您可以使用len:


In [11]: df = pd.DataFrame([[1, 2], [1, 4], [5, 6]], columns=['A', 'B'])


In [12]: df.groupby('A').filter(lambda x: len(x) > 1)

Out[12]:

   A  B

0  1  2

1  1  4


查看完整回答
反對 回復(fù) 2021-11-02
?
慕哥6287543

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

行數(shù)在屬性中.shape[0]

df.groupby('A').filter(lambda x: x.shape[0] >= min_size)

注意:如果要刪除小于最小尺寸的組,請保留大于或處于最小尺寸(>=,不是>)的組。


查看完整回答
反對 回復(fù) 2021-11-02
?
qq_笑_17

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

groupby.filter對于較大的數(shù)據(jù)集/大量組,可能會非常慢。更快的方法是使用groupby.transform:


下面是一個例子,首先創(chuàng)建數(shù)據(jù)集:


import pandas as pd

import numpy as np


df = pd.concat([

    pd.DataFrame({'y': np.random.randn(np.random.randint(1,5))}).assign(A=str(i)) 

    for i in range(1,1000)

]).reset_index(drop=True)

print(df)

             y    A

0     1.375980    1

1    -0.023861    1

2    -0.474707    1

3    -0.151859    2

4    -1.696823    2

...        ...  ...

2424  0.276737  998

2425 -0.142171  999

2426 -0.718891  999

2427 -0.621315  999

2428  1.335450  999


[2429 rows x 2 columns]

計時:

http://img1.sycdn.imooc.com//6180e2e50001e0ad10790242.jpg

查看完整回答
反對 回復(fù) 2021-11-02
  • 3 回答
  • 0 關(guān)注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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