Trong bài viết này, bạn sẽ tìm thấy 3 ví dụ khác nhau về cách chia khung dữ liệu thành các khung dữ liệu mới dựa trên một cột. Các ví dụ là
- Cách chia khung dữ liệu trên cơ sở hàng tháng
- Cách chia khung dữ liệu mỗi năm
- Tách khung dữ liệu trên một cột chuỗi
- Người giới thiệu
Video hướng dẫn
gấu trúc. Cách chia khung dữ liệu trên cơ sở hàng tháng
Bạn có thể xem khung dữ liệu trên hình bên dưới. Ban đầu các cột. "ngày", "mm", "năm" không tồn tại. Chúng tôi sẽ chia khung dữ liệu thành nhiều nhóm tùy thuộc vào tháng. Với mục đích đó, chúng tôi đang chia cột ngày thành ngày, tháng và năm. Sau đó ta sẽ nhóm vào cột tháng. Cuối cùng, chúng tôi đang in các khung dữ liệu đầu ra
import pandas as pd
df = pd.DataFrame[
{
"Company": [
"Samsung", "Samsung", "Samsung", "Samsung", "Samsung", "LG", "LG", "LG", "LG", "LG", "Sony", "Sony", "Sony",
"Sony", "Sony",
],
"Date": [
"10/9/2015", "10/9/2015", "10/9/2017", "10/10/2017", "10/10/2017", "10/10/2018", "10/9/2018", "10/9/2018",
"10/9/2018", "10/10/2016", "10/10/2016", "10/10/2016", "10/10/2019", "10/10/2019", "10/10/2019",
],
"Country": [
"India", "India", "USA", "France", "India", "India", "Germany", "USA", "Brazil", "Brazil", "India",
"Germany", "India", "India", "Brazil",
],
"Sells": [15, 81, 29, 33, 21, 42, 67, 35, 2, 34, 21, 50, 10, 26, 53],
}
]
df[["day", "mm", "year"]] = df["Date"].str.split["/", expand=True]
agg = df.groupby[['mm']]
for group in agg:
print[group]
kết quả
gấu trúc. Cách chia khung dữ liệu mỗi năm
Lần này chúng tôi sẽ sử dụng cách tiếp cận khác để đạt được hành vi tương tự. Đầu tiên chúng ta sẽ sử dụng lambda để chuyển đổi chuỗi thành ngày tháng. Sau đó, chúng tôi đang trích xuất các khoảng thời gian. Phần cuối cùng là nhóm theo năm trích xuất
import dateutil
import pandas as pd
df = pd.DataFrame[
{
"Company": [
"Samsung", "Samsung", "Samsung", "Samsung", "Samsung", "LG", "LG", "LG", "LG", "LG", "Sony", "Sony", "Sony",
"Sony", "Sony",
],
"Date": [
"10/9/2015", "10/9/2015", "10/9/2017", "10/10/2017", "10/10/2017", "10/10/2018", "10/9/2018", "10/9/2018",
"10/9/2018", "10/10/2016", "10/10/2016", "10/10/2016", "10/10/2019", "10/10/2019", "10/10/2019",
],
"Country": [
"India", "India", "USA", "France", "India", "India", "Germany", "USA", "Brazil", "Brazil", "India",
"Germany", "India", "India", "Brazil",
],
"Sells": [15, 81, 29, 33, 21, 42, 67, 35, 2, 34, 21, 50, 10, 26, 53],
}
]
df["Date"] = df["Date"].apply[lambda x: dateutil.parser.parse[x]]
year = df["Date"].dt.to_period["Y"]
agg = df.groupby[[year]]
for group in agg:
print[group]
kết quả
gấu trúc. Tách khung dữ liệu trên một cột chuỗi
Lần này khung dữ liệu là một khung dữ liệu khác. Và chúng tôi có hồ sơ cho hai công ty bên trong. Nếu mục tiêu của chúng tôi là chia khung dữ liệu này thành các khung dữ liệu mới dựa trên các công ty thì chúng tôi có thể thực hiện
def extract_rank_feature[file_name, final_rank, score_dict, if_train]. nếu if_train. w = mở [". / original_data/rank_feature_train. txt", 'w'] khác. w = mở [". / original_data/rank_feature_test. txt", 'w'] dòng = mở [tên_tệp]. readlines[] cho từng dòng. nếu if_train. id = dòng. dải[]. tách[","][0] khác. id = dòng. dải [] in id w. viết ["{"] w. write['"nghiên cứu". ' + id + ","] nếu score_dict. has_key[id] và final_rank. has_key[id]. w. write['"rank_in_faculty". ' + str[Final_rank[id]] + "," + '"rank_score_consume". ' + str[ final_rank[id] * score_dict[id]] + "} \n"] khác. w. write['"rank_in_faculty". ' + str[cuối_xếp. get[id, -999]] + "," + '"rank_score_consume". ' + str[ -999] + "} \n"] w. đóng lại[]