mô-đun nhập khẩu
import pandas as pd
import numpy as np
import datetime
tạo khung dữ liệu giả
raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70],
'birth_date': ['01-02-1996', '08-05-1997', '04-28-1996', '12-16-1995']}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
tuổi_ngày_sinh_yêu_thích_màu_lớptênWillard Morris2001-02-1996màu xanh da trời88Willard MorrisAl Jennings1908-05-1997màu đỏ92Al JenningsOmar Mullins2204-28-1996màu vàng95Omar MullinsSpencer McDaniel2112-16-1995màu xanh lá cây70Spencer McDanieltạo một cột mới với năm của trường ngày 'birth_date'
tuổibirth_datefavorite_colorgradenameyearWillard Morris2001-02-1996blue88Willard Morris1996Al Jennings1908-05-1997red92Al Jennings1997Omar Mullins2204-28-1996vàng95Omar Mullins1996Spencer McDaniel2112-16-1995green70Spencer McDaniel1995tạo một cột mới với trường tháng ngày 'birth_date'
agebirth_datefavorite_colorgradenameyearmonthWillard Morris2001-02-1996blue88Willard Morris19961Al Jennings1908-05-1997red92Al Jennings19978Omar Mullins2204-28-1996yellow95Omar Mullins19964Spencer McDaniel2112-16-1995green70Spencer McDaniel199512agebirth_datefavorite_colorgradenameyearmonthmonth_yearWillard Morris2001-02-1996blue88Willard Morris199611996-01Al Jennings1908-05-1997red92Al Jennings199781997-08Omar Mullins2204-28-1996yellow95Omar Mullins199641996-04Spencer McDaniel2112Tôi đang cố gắng thực hiện một số phân tích về dữ liệu khí hậu trong đó tôi có DataFrame với nhiều cột ngày khác nhau [Năm, Tháng, Ngày] và tôi cảm thấy như mình đang thiếu một yếu tố tổng hợp nào đó có thể giúp tôi hình dung rõ hơn về xu hướng trong những năm qua. . Sau đó, tôi nghĩ, tại sao không phải là mùa?
Tôi quyết định viết một chức năng nhanh chóng cho phép tôi làm điều này một cách đáng tin cậy. nó không nhanh. Nó khiến tôi bối rối trong vài giờ khi tôi thử các biến thể khác nhau của mã của mình
Tôi không muốn đi theo con đường if, elif mỗi tháng, vì vậy tôi đã tìm kiếm kiến thức về Stack Overflow để xem liệu có điều gì tôi còn thiếu sau khi nhận được một ngoại lệ TypeError khác không
Điều đầu tiên tôi làm là tạo một DataFrame thử nghiệm chứa một cột tháng trong đó mà tôi có thể sử dụng để dễ dàng kiểm tra xem chức năng của mình có hoạt động hay không
Sau khi tạo DataFrame thử nghiệm, tôi đã viết hàm lấy số tháng và bán cầu và chuyển đổi nó thành mùa chính xác
Nếu bạn đã sử dụng tập lệnh này bằng cách nhập thủ công số tháng và bán cầu [i. e. 1 và Nam = Mùa hè. 1 và Northern = Winter] thì nó sẽ in ra mùa tương ứng. Tuy nhiên, tôi phát hiện ra rằng việc sử dụng nó để tạo một cột mới trong DataFrame của gấu trúc cần nhiều công việc hơn một chút so với việc chỉ gọi hàm trên cột mục tiêu
Mã được cải tiến ở trên sử dụng chức năng để điền danh sách mới với các mùa tương ứng, sau đó có thể được gán cho cột Mùa trong Khung dữ liệu đích
ví dụ 1
Bây giờ để chuyển đổi nó thành Datetime, chúng tôi sử dụng cú pháp đã đề cập trước đó. Vì trong ví dụ này, định dạng ngày là yyyymmdd, nên định dạng ngày có thể được biểu diễn như sau
format= '%Y%m%d'
Python3
# importing pandas package
import
pandas as pd
format='%Y%m%d%H%M%S%F'8
values
3_______0
format= '%Y%m%d'1
format= '%Y%m%d'2_______3_______3_______3_______4
format= '%Y%m%d'5
format= '%Y%m%d'6
format= '%Y%m%d'5
format= '%Y%m%d'8
format= '%Y%m%d'9
format='%y%m%d'0_______13_______1
format='%y%m%d'2
format='%y%m%d'3
format= '%Y%m%d'5
format='%y%m%d'5
format= '%Y%m%d'5
format='%y%m%d'3
format='%y%m%d'8
format='%y%m%d'0____23_______0
format='%Y%m%d%H%M%S'1
format= '%Y%m%d'0
format='%Y%m%d%H%M%S'3_______3_______0_______23_______5
format= '%Y%m%d'2
format= '%Y%m%d'5
format='%y%m%d'1
format='%Y%m%d%H%M%S'9
# creating a dataframe
0
# creating a dataframe
1
format= '%Y%m%d'2
format='%y%m%d'8
format= '%Y%m%d'0
# creating a dataframe
5format= '%Y%m%d'2
format= '%Y%m%d'9
# creating a dataframe
8_______3_______0format='%y%m%d'47
values
1