Pandas New Dataframe отображает верхние и нижние значения N для каждой группы

Установка кодовой страницы в UTF-8 с помощью команды chcp 65001 должна помочь вам правильно распечатать содержимое файла в оболочке (с помощью cmd.exe). Это не будет работать для каталогов, хотя (кодировка UTF-16 в именах файлов NTFS).

0
задан cecilj 18 January 2019 в 16:43
поделиться

3 ответа

попробуйте создать такую ​​функцию, как:

def selc_df(df, x=2):
    return df.head(x).append(df.tail(x))

selc_df(df,2)

Пример:

>>> df
   A    B
0  1  345
1  2  366
2  3  299
3  3  455
4  4  879
5  5  321
6  5  957
7  6  543

Результат:

>>> def selc_df(df, x=2):
...     return df.head(x).append(df.tail(x))
...

>>> selc_df(df,2)
   A    B
0  1  345
1  2  366
6  5  957
7  6  543
0
ответ дан pygo 18 January 2019 в 16:43
поделиться

Использование

#df=df.sort_values('Value')
g=df.groupby('Influencer')
pd.concat([g.head(2),g.tail(2)]).sort_index()
Out[693]: 
   Unit Influencer  Value
0     A        foo    321
1     B        foo    200
3     D        foo     12
4     E        foo      3
5     A        bar    999
6     B        bar    209
9     E        bar     15
10    F        bar      2
0
ответ дан Wen-Ben 18 January 2019 в 16:43
поделиться

Вы можете попробовать:

nlargest = df.groupby('Influencer')['Value'].nlargest(2).reset_index()['level_1'].values
nsmallest = df.groupby('Influencer')['Value'].nsmallest(2).reset_index()['level_1'].values

result = pd.concat([df.iloc[nlargest], df.iloc[nsmallest]]).sort_index()
print(result)

Вывод

   Unit Influencer  Value
0     A        foo    321
1     B        foo    200
3     D        foo     12
4     E        foo      3
5     A        bar    999
6     B        bar    209
9     E        bar     15
10    F        bar      2
0
ответ дан Daniel Mesejo 18 January 2019 в 16:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: