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
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]
23. 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]
4Sả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]
54. 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]
9Sả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]
05. 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]
1Sả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]
0Bạ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]
16. 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]
2Sự 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