簡體   English   中英

如何按熊貓數據框分組

[英]How to groupby a pandas dataframe

我有一個像這樣的熊貓數據框

StudentID   Grades
101 A
101 C
101 B
102 B
102 C

我需要以下輸出作為另一個數據框

StudentID   Grades
101 A,B,C
102 B,C

如何在熊貓中做到這一點。 當我分組時,它返回一個分組對象而不是一個數據框

import pandas as pd
df = pd.DataFrame({
        'StudentID': [101,101,101,102,102],
        'Grades': ['A','C','B','B','C']
     })

df.groupby('StudentID').Grades.agg(",".join)

您可以通過返回的groupby對象訪問所需的DataFrame

import pandas as pd
df = pd.DataFrame({
        'StudentID': [101,101,101,102,102],
        'Grades': ['A','C','B','B','C']
     })
grouped = df.groupby('StudentID')
for student_id, df_student in grouped:
    print 'ID:', student_id
    print df_student

輸出:

ID: 101
  Grades  StudentID
0      A        101
1      C        101
2      B        101
ID: 102
  Grades  StudentID
3      B        102
4      C        102

您還可以使用特定的密鑰訪問DataFrame

print grouped.get_group(101)

這將返回DataFrame與所有StudentID等於101。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM