์๋ ๊ธฐ๋ฅ์ ์๋ชป ๊ตฌํ๋์์ต๋๋ค. ํ๋ ์์ ์ค๋ณต ๋ ๊ฐ์ด์๋ ์ธ๋ฑ์ค๊ฐ์๋ ๊ฒฝ์ฐ n
ํ์ ์ด๊ณผํ๊ณ ์ ๋๋ก ์ ๋ ฌ๋์ง ์์ ๊ฒฐ๊ณผ๊ฐ ํ์๋ฉ๋๋ค. ๋ฐ๋ผ์ nsmallest
๋ฐ nlargest
for DataFrame์์ด ํน์ ๊ฒฝ์ฐ์ ์ฌ๋ฐ๋ฅธ ํ๋ ์์ ๋ฐํํ์ง ์์ต๋๋ค.
def _nsorted(self, columns, n, method, keep):
if not com.is_list_like(columns):
columns = [columns]
columns = list(columns)
ser = getattr(self[columns[0]], method)(n, keep=keep)
ascending = dict(nlargest=False, nsmallest=True)[method]
return self.loc[ser.index].sort_values(columns, ascending=ascending,
kind='mergesort')
๊ณผ์ฐ:
In [71]: df = pd.DataFrame({'a':[1,2,3,4], 'b':[4,3,2,1]}, index=[0,0,1,1])
In [72]: df.nlargest(1, 'a')
Out[72]:
a b
1 4 1
1 3 2
In [73]: df.nlargest(2, 'a')
Out[73]:
a b
1 4 1
1 4 1
1 3 2
1 3 2
(ํฅํ ์ฐธ์กฐ๋ฅผ ์ํด @ Tux1 ์ฌ์ด๋ ๋
ธํธ, ๋ฌธ์ ๋ฅผ ์ด โโ๋ ์์ ์ฌํ ๊ฐ๋ฅํ ์์ ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ํญ์ ์ข์ต๋๋ค)
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด PR์ ๊ด์ฌ์ด ์์ผ์ญ๋๊น?
์, ๊ณง ์์ ํ๊ฒ ์ต๋๋ค
์๋ฅผ ๋ค์ด ์ฃ์กํฉ๋๋ค
Le 9 6 ์ 2016 ร 23:30, Joris Van den Bossche [email protected] a รฉcrit :
๊ณผ์ฐ:
[71]์์ : df = pd.DataFrame ({ 'a': [1,2,3,4], 'b': [4,3,2,1]}, index = [0,0,1, 1])
[72]์์ : df.nlargest (1, 'a')
์ถ๋ ฅ [72] :
ab
1 4 1
1 3 2[73]์์ : df.nlargest (2, 'a')
์ถ๋ ฅ [73] :
ab
1 4 1
1 4 1
1 3 2
1 3 2
(ํฅํ ์ฐธ์กฐ๋ฅผ ์ํด @ Tux1 ์ฌ์ด๋ ๋ ธํธ, ๋ฌธ์ ๋ฅผ ์ด โโ๋ ์์ ์ฌํ ๊ฐ๋ฅํ ์์ ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ํญ์ ์ข์ต๋๋ค)
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด PR์ ๊ด์ฌ์ด ์์ผ์ญ๋๊น?โ
๋น์ ์ด ์ธ๊ธ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ๋ณด๊ฑฐ๋ ์ค๋ ๋๋ฅผ ์์๊ฑฐํ์ญ์์ค.
๋ด ์์ ์ ๊ทธ๋ค์ง ์ฐ์ํ์ง๋ ์์ง๋ง MultiIndex ๋ฐ ์ค๋ณต ๊ฐ ์์ธ์ ์ฒ๋ฆฌํ๋ ๋ค๋ฅธ ์๋ฃจ์ ์ ์์ต๋๋ค.
Sum์ .19.2์์ ์ ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง count๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ฏธ๊ฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค. df๋ "n"๋งํผ ๋ฐ๋ณต๋ฉ๋๋ค. ๊ทธ๊ฒ ๋ฒ๊ทธ์ ๋๊น, ์๋๋ฉด ์ ๊ฐ ๋ญ๊ฐ ์๋ชปํ๊ณ ์์ต๋๊น?
df.groupby(['a']).agg({'b':'count'}).nlargest(2, 'b')
a
1 1
2 1
3 1
4 1
1 1
2 1
3 1
4 1
@shankararul ์ฐธ์กฐ : https://github.com/pandas-dev/pandas/issues/15297
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@shankararul ์ฐธ์กฐ : https://github.com/pandas-dev/pandas/issues/15297