Nhóm theo đối tượng danh sách Python

Bạn có thể nhóm các hàng DataFrame thành một danh sách bằng cách sử dụng hàm 


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
3 trên cột quan tâm, chọn cột bạn muốn làm danh sách từ nhóm rồi sử dụng 

import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
4 để lấy danh sách cho mọi nhóm. Trong bài viết này, tôi sẽ giải thích cách nhóm các hàng vào danh sách bằng một số ví dụ

1. Ví dụ nhanh

Dưới đây là một số ví dụ hay để nhóm các hàng thành một danh sách trong DataFrame của gấu trúc


# Group Rows on 'Courses' column and get List for 'Fee' column
df2 = df.groupby['Courses']['Fee'].apply[list]

# Assign a Column Name to the groped list
df2 = df.groupby['Courses']['Fee'].apply[list].reset_index[name="Course_Fee"]

# Group Rows into List
df2 = df.groupby["Courses"].agg[{"Discount": lambda x: list[x]}]

# Group Rows into List on All columns
df2 = df.groupby["Courses"].agg[list]

# Other way
df2 = df.groupby['Courses'].agg[pd.Series.tolist]

Bây giờ, hãy tạo một DataFrame với một vài hàng và cột và thực hiện các ví dụ này và xác thực kết quả. Khung dữ liệu của chúng tôi chứa các tên cột


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
5,

import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
6,

import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
7 và

import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
8


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]

Sản lượng dưới sản lượng

________số 8

2. Khung dữ liệu gấu trúc. groupby[] Để nhóm các hàng vào danh sách

Bằng cách sử dụng DataFrame. groupby[] bạn có thể nhóm các hàng trên một cột, chọn cột bạn muốn làm danh sách từ kết quả được nhóm và cuối cùng chuyển nó thành danh sách cho mỗi nhóm bằng cách sử dụng apply[list]


# Group Rows on 'Courses' column and get List for 'Fee' column
df2 = df.groupby['Courses']['Fee'].apply[list]
print[df2]

Sản lượng dưới sản lượng. Lưu ý rằng ở đây


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
9 trả về một đối tượng Sê-ri. và chúng tôi đã áp dụng

   Courses    Fee Duration  Discount
0    Spark  24000    30day      1000
1  PySpark  25000   40days      2300
2   Hadoop  25000   35days      1500
3   Python  24000   40days      1200
4   pandas  24000   60days      2500
5  PySpark  25000   50days      2100
6   Python  25000   55days      2000
7   pandas  24000   35days      2500
0 trên đối tượng Sê-ri để mang lại cho bạn kết quả phù hợp


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
2

3. Gán tên cột cho kết quả Danh sách Gropby

Trên kết quả danh sách groupby[] sử dụng


   Courses    Fee Duration  Discount
0    Spark  24000    30day      1000
1  PySpark  25000   40days      2300
2   Hadoop  25000   35days      1500
3   Python  24000   40days      1200
4   pandas  24000   60days      2500
5  PySpark  25000   50days      2100
6   Python  25000   55days      2000
7   pandas  24000   35days      2500
1 để gán tên cột cho cột danh sách


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
4

Sản lượng dưới sản lượng


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
5

4. Nhóm các hàng vào danh sách bằng hàm agg[] & Lambda

Ngoài ra, bạn cũng có thể nhóm các hàng vào danh sách bằng hàm


   Courses    Fee Duration  Discount
0    Spark  24000    30day      1000
1  PySpark  25000   40days      2300
2   Hadoop  25000   35days      1500
3   Python  24000   40days      1200
4   pandas  24000   60days      2500
5  PySpark  25000   50days      2100
6   Python  25000   55days      2000
7   pandas  24000   35days      2500
2. Sử dụng phương thức groupby[] trên phương thức

import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
5 và

   Courses    Fee Duration  Discount
0    Spark  24000    30day      1000
1  PySpark  25000   40days      2300
2   Hadoop  25000   35days      1500
3   Python  24000   40days      1200
4   pandas  24000   60days      2500
5  PySpark  25000   50days      2100
6   Python  25000   55days      2000
7   pandas  24000   35days      2500
4 để áp dụng tổng hợp cho mọi nhóm gấu trúc. Khung dữ liệu


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
9

Sản lượng dưới sản lượng


# Group Rows on 'Courses' column and get List for 'Fee' column
df2 = df.groupby['Courses']['Fee'].apply[list]

# Assign a Column Name to the groped list
df2 = df.groupby['Courses']['Fee'].apply[list].reset_index[name="Course_Fee"]

# Group Rows into List
df2 = df.groupby["Courses"].agg[{"Discount": lambda x: list[x]}]

# Group Rows into List on All columns
df2 = df.groupby["Courses"].agg[list]

# Other way
df2 = df.groupby['Courses'].agg[pd.Series.tolist]
0

5. Nhóm gấu trúc đưa hàng vào danh sách trên tất cả các cột

Hãy xem cách nhóm các hàng vào danh sách cho tất cả các cột DataFrame. Điều này dẫn đến nhiều cột Danh sách cho mỗi nhóm


# Group Rows on 'Courses' column and get List for 'Fee' column
df2 = df.groupby['Courses']['Fee'].apply[list]

# Assign a Column Name to the groped list
df2 = df.groupby['Courses']['Fee'].apply[list].reset_index[name="Course_Fee"]

# Group Rows into List
df2 = df.groupby["Courses"].agg[{"Discount": lambda x: list[x]}]

# Group Rows into List on All columns
df2 = df.groupby["Courses"].agg[list]

# Other way
df2 = df.groupby['Courses'].agg[pd.Series.tolist]
1

Sản lượng dưới sản lượng


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
0

Bạn cũng có thể nhận được kết quả tương tự bằng cách sử dụng


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
1

6. Ví dụ hoàn chỉnh để tham khảo


import pandas as pd
technologies = [{
     'Courses':["Spark","PySpark","Hadoop","Python","pandas","PySpark","Python","pandas"],
     'Fee' :[24000,25000,25000,24000,24000,25000,25000,24000],
     'Duration':['30day','40days','35days', '40days','60days','50days','55days','35days'],
     'Discount':[1000,2300,1500,1200,2500,2100,2000,2500]
              }]
df = pd.DataFrame[technologies]
print[df]
2

Sự kết luận

Trong bài viết này, bạn đã học cách nhóm các hàng DataFrame vào danh sách trong Pandas bằng cách sử dụng


   Courses    Fee Duration  Discount
0    Spark  24000    30day      1000
1  PySpark  25000   40days      2300
2   Hadoop  25000   35days      1500
3   Python  24000   40days      1200
4   pandas  24000   60days      2500
5  PySpark  25000   50days      2100
6   Python  25000   55days      2000
7   pandas  24000   35days      2500
5 và sử dụng

   Courses    Fee Duration  Discount
0    Spark  24000    30day      1000
1  PySpark  25000   40days      2300
2   Hadoop  25000   35days      1500
3   Python  24000   40days      1200
4   pandas  24000   60days      2500
5  PySpark  25000   50days      2100
6   Python  25000   55days      2000
7   pandas  24000   35days      2500
6,

   Courses    Fee Duration  Discount
0    Spark  24000    30day      1000
1  PySpark  25000   40days      2300
2   Hadoop  25000   35days      1500
3   Python  24000   40days      1200
4   pandas  24000   60days      2500
5  PySpark  25000   50days      2100
6   Python  25000   55days      2000
7   pandas  24000   35days      2500
7. Ngoài ra, bạn đã học cách nhóm các hàng thành một danh sách trên tất cả các cột

Tôi có thể nhóm theo danh sách bằng Python không?

Trong Python, bạn có thể nhóm các phần tử liên tiếp có cùng giá trị trong một đối tượng có thể lặp lại, chẳng hạn như danh sách bằng itertools. groupby[] .

Đối tượng nhóm trong Python là gì?

Nhóm là cơ chế chứa theo đó các tệp HDF5 được tổ chức . Từ góc độ Python, chúng hoạt động giống như từ điển. Trong trường hợp này, "khóa" là tên của các thành viên nhóm và "giá trị" là chính các thành viên [ Nhóm và Bộ dữ liệu ] đối tượng.

Python có thể có một danh sách các đối tượng không?

Chúng ta có thể tạo danh sách các đối tượng trong Python bằng cách thêm các thể hiện của lớp vào danh sách . Bằng cách này, mọi chỉ mục trong danh sách có thể trỏ đến các thuộc tính và phương thức thể hiện của lớp và có thể truy cập chúng.

Làm thế nào chúng ta có thể Nhóm đối tượng đưa ra một ví dụ?

Nhóm các hình, ảnh hoặc đối tượng khác .
Nhấn và giữ CTRL trong khi bạn bấm vào hình dạng, ảnh hoặc các đối tượng khác để nhóm. Bạn sẽ cần chọn nhiều hình dạng, ảnh hoặc đối tượng để bật nút Nhóm. .
Chọn nút Sắp xếp và chọn Nhóm

Chủ Đề