Python tách ngày từ chuỗi

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ả

CompanyDateCountrySells daymmyear3Samsung10/10/2017France33101020174Samsung10/10/2017India21101020175LG10/10/2018India42101020189LG10/10/2016Brazil341010201610Sony10/10/2016India211010201611Sony10/10/2016Germany501010201612Sony10/10/2019India101010201913Sony10/10/2019India261010201914Sony10/10/2019Brazil5310102019CompanyDateCountrySells day mmyear0Samsung10/9/2015India1510920151Samsung10/9/2015India8110920152Samsung10/9

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ả

CompanyDate CountrySellsdaymmyear0Samsung 2015-10-09India1510920151Samsung 2015-10-09India811092015CompanyDateCountrySells daymmyear9LG 2016-10-10Brazil341010201610Sony 2016-10-10India211010201611Sony 2016-10-10Germany5010102016CompanyDate CountrySells daymmyear2Samsung 2017-10-09USA2910920173Samsung 2017-10-10France33101020174Samsung 2017-10-10India2110102017CompanyDateCountrySells daymmyear5LG 2018-10-

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[]

Làm cách nào để tách ngày khỏi ngày giờ trong Python?

Làm cách nào để tách ngày và giờ trong một cột trong Python? .
Xác định khung dữ liệu
áp dụng pd. hàm to_datetime[] bên trong df['datetime'] và chọn ngày bằng dt. date rồi lưu dưới dạng df['date']
áp dụng pd. hàm to_datetime[] bên trong df['datetime'] và chọn thời gian bằng cách sử dụng dt. thời gian sau đó lưu nó dưới dạng df['time']

Làm cách nào để phân tích ngày tháng trong Python?

Python có phương thức tích hợp sẵn để phân tích ngày, strptime . Ví dụ này lấy chuỗi “2020–01–01 14. 00” và phân tích cú pháp thành đối tượng datetime. Tài liệu về strptime cung cấp tổng quan tuyệt vời về tất cả các tùy chọn chuỗi định dạng.

Làm cách nào để chuyển đổi chuỗi thành ngày trong Python?

từ datetime nhập datetime
date_time_str = '18/09/19 01. 55. 19'
date_time_obj = ngày giờ. strptime[date_time_str, '%d/%m/%y %H. %M. %S']
print ["Kiểu ngày là bây giờ", gõ [date_time_obj]]

Làm cách nào để chỉ trích xuất thời gian từ datetime trong Python?

Cách lấy thời gian hiện tại với mô-đun datetime. Để có được thời gian cụ thể hiện tại, bạn có thể sử dụng phương thức strftime[] và truyền vào đó chuỗi ”%H. %M. %S” đại diện cho giờ, phút và giây .

Chủ Đề