Hướng dẫn get month from datetime python - lấy tháng từ trăn datetime

37

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một cột ngày ở định dạng 2010-01-31. Tôi có thể trích xuất năm bằng cách sử dụng

#extracting year
year = df["date"].values
year = [my_str.split("-")[0] for my_str in year]
df["year"] = year

Tôi đang cố gắng để có được tháng, nhưng tôi không hiểu làm thế nào để có được nó trong lần chia thứ hai.

Hướng dẫn get month from datetime python - lấy tháng từ trăn datetime

Được hỏi ngày 29 tháng 9 năm 2014 lúc 17:47Sep 29, 2014 at 17:47

1

import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31

Đã trả lời ngày 29 tháng 9 năm 2014 lúc 17:52Sep 29, 2014 at 17:52

AbdelouahababdelouahabAbdelouahab

7.05310 Huy hiệu vàng49 Huy hiệu bạc81 Huy hiệu đồng10 gold badges49 silver badges81 bronze badges

4

Giải pháp thay thế

Tạo một cột sẽ lưu trữ tháng:

data['month'] = data['date'].dt.month

Tạo một cột sẽ lưu trữ năm:

data['year'] = data['date'].dt.year

Hướng dẫn get month from datetime python - lấy tháng từ trăn datetime

Matt Ke

3.27911 Huy hiệu vàng30 Huy hiệu bạc47 Huy hiệu đồng11 gold badges30 silver badges47 bronze badges

Đã trả lời ngày 28 tháng 6 năm 2020 lúc 15:41Jun 28, 2020 at 15:41

Hướng dẫn get month from datetime python - lấy tháng từ trăn datetime

2

>>> a='2010-01-31'
>>> a.split('-')
['2010', '01', '31']
>>> year,month,date=a.split('-')
>>> year
'2010'
>>> month
'01'
>>> date
'31'

Đã trả lời ngày 29 tháng 9 năm 2014 lúc 17:50Sep 29, 2014 at 17:50

g4ur4vg4ur4vg4ur4v

3.1605 Huy hiệu vàng30 Huy hiệu bạc56 Huy hiệu Đồng5 gold badges30 silver badges56 bronze badges

2

Nếu bạn sử dụng datetime, bạn chỉ cần thêm

import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31
0 ở cuối phương thức DateTime

>>> from datetime import datetime, date, time, timedelta, timezone
>>> datetime.now()
datetime.datetime(2022, 1, 3, 11, 33, 16, 609052)
>>> datetime.now().date()
datetime.date(2022, 1, 3)
>>> datetime.now().date().month
1

Đã trả lời ngày 3 tháng 1 lúc 17:37Jan 3 at 17:37

Hướng dẫn get month from datetime python - lấy tháng từ trăn datetime

KoopskoopsKoops

Phù hiệu đồng 14477 bronze badges

1

Trong bài viết này, chúng tôi sẽ học cách lấy tên tháng từ một tháng trong Python. Chúng tôi sẽ sử dụng một số mô-đun tích hợp có sẵn và một số mã tùy chỉnh cũng như thấy chúng hoạt động. Trước tiên chúng ta hãy có một cái nhìn nhanh về những gì là ngày trong Python.

Ngày trong Python

Trong Python, chúng ta có thể làm việc trên các chức năng ngày bằng cách nhập mô-đun tích hợp

import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31
1Available trong Python. Chúng tôi có các đối tượng ngày để làm việc với ngày. Mô -đun DateTime này chứa ngày ở dạng năm, tháng, ngày, giờ, phút, thứ hai và micro giây.

Hãy để chúng tôi thảo luận về các cách khác nhau để chuyển đổi số tháng thành tên tháng. Chúng tôi sẽ nhận được số tháng bằng cách lấy đầu vào từ người dùng, từ ngày hoặc bằng cách tạo một loạt ngày và sau đó chuyển đổi số tháng sang tên tháng. Chúng ta sẽ thấy rằng tên tháng có thể được in theo hai cách. Cách đầu tiên là tên đầy đủ của tháng kể từ tháng 3 và một cách khác là tên ngắn như Mar.March and another way is the short name like Mar.

Ví dụ: Nhận tên tháng từ số tháng bằng đối tượng DateTime

Phương pháp này sử dụng mô -đun datetime. Người dùng cung cấp đầu vào cho số tháng.

import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31
3 được gọi. Phải mất số tháng và định dạng tháng
import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31
4 làm đối số. Chuyển
import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31
5 đến
import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31
6 Trả về tên tháng viết tắt trong khi sử dụng
import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31
7 Trả về tên tháng đầy đủ.

import datetime

#provide month number
month_num = "3"
datetime_object = datetime.datetime.strptime(month_num, "%m")

month_name = datetime_object.strftime("%b")
print("Short name: ",month_name)

full_month_name = datetime_object.strftime("%B")
print("Full name: ",full_month_name)


Tên ngắn: Mar Tên đầy đủ: Tháng ba
Full name: March

Ví dụ: Nhận tên tháng từ số tháng bằng mô -đun lịch

Phương pháp này nhập mô -đun

import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31
8. Nó chỉ đơn giản là sử dụng một vòng lặp để lặp trong số tháng (12). Có hai mảng tích hợp trong mô-đun lịch.
import datetime

a = '2010-01-31'

datee = datetime.datetime.strptime(a, "%Y-%m-%d")


datee.month
Out[9]: 1

datee.year
Out[10]: 2010

datee.day
Out[11]: 31
9 là một mảng đại diện cho tên đầy đủ trong khi
data['month'] = data['date'].dt.month
0 trong mảng thứ hai đại diện cho các tên tháng viết tắt. Bạn cũng có thể gán bất kỳ số tháng nào cho X để tìm tên tháng tương đương.x in order to find the equivalent month name.

import calendar

for x in range(1,13):
    print(x, ":", calendar.month_abbr[x], "-", calendar.month_name[x])

# for month number = 4
x = 4
print(x, ":", calendar.month_abbr[x], "-", calendar.month_name[x])

1: tháng 1 - 2 tháng 1: ngày 3 tháng 2 11: Tháng 11 - 12 tháng 11: Tháng 12 - Tháng 12
2 : Feb - February
3 : Mar - March
4 : Apr - April
5 : May - May
6 : Jun - June
7 : Jul - July
8 : Aug - August
9 : Sep - September
10 : Oct - October
11 : Nov - November
12 : Dec - December

4: Tháng 4 - Tháng 4

Ví dụ: Nhận tên tháng bằng loạt gấu trúc

Phương pháp này sử dụng thư viện

data['month'] = data['date'].dt.month
1 của Python. Trong ví dụ này, chúng tôi tạo ra một loạt nhiều ngày để có được tên tháng tương ứng. Điều này được thực hiện bằng cách sử dụng phương thức
data['month'] = data['date'].dt.month
2 này rất hữu ích khi bạn muốn chuyển đổi số tháng sang tên của họ từ nhiều ngày. Nó tạo ra một mảng cho chỉ mục. Nó đặt mảng chỉ mục thành chuỗi đã cho. Hàm Pandas
data['month'] = data['date'].dt.month
3 Trả về tên tháng của DateTimeIndex với ngôn ngữ được chỉ định. Locale xác định ngôn ngữ mà tên tháng được trả lại.
data['month'] = data['date'].dt.month
4 return tên của tháng của mỗi dấu thời gian trong đối tượng chuỗi đã cho.
data['month'] = data['date'].dt.month
3 function returns the month names of the DateTimeIndex with specified locale. Locale determines the language in which the month name is returned.
data['month'] = data['date'].dt.month
4returns the names of the month of each timestamp in the given series object.

import pandas as pd

#Create a Series 
dates = pd.Series(['2012-12-31', '2019-1-1', '2008-02-2'])

#Create index 
idx = ['Date 1', 'Date 2', 'Date 3']

#set the index 
dates.index = idx

# Convert the data to datetime  
dates = pd.to_datetime(dates)
 
print(dates) 

# return month name
result = dates.dt.month_name(locale = 'English')
print('\n')
print(result)

Ngày 1 2012-12-31 Ngày 2 2019-01-01 Ngày 3 2008-02-02 DTYPE: DateTime64 [ns]
Date 2 2019-01-01
Date 3 2008-02-02
dtype: datetime64[ns]

Ngày 1 tháng 12 Ngày 2 tháng 1 Ngày 3 tháng 2 DTYPE: Đối tượng
Date 2 January
Date 3 February
dtype: object

Sự kết luận

Trong bài viết này, chúng tôi đã học cách chuyển đổi số tháng sang tên tháng bằng cách sử dụng ____ 11 mẫu, mô -đun ____ ____ 26 và thư viện

data['month'] = data['date'].dt.month
1. Chúng tôi đã sử dụng một số mã tùy chỉnh là tốt. Chúng tôi đã in các tên tháng cũng như tên tháng đầy đủ. Chúng tôi nhận được số tháng dưới dạng đầu vào hoặc bằng cách trích xuất từ ​​một ngày.

Làm cách nào để in tháng từ một ngày ở Python?

Làm thế nào để có được tên tháng từ số tháng trong Python..
Nhập DateTime #Provide Tháng Số tháng_num = "3" DateTime_Object = DateTime. ngày giờ. ....
Lịch nhập cho x trong phạm vi (1,13): in (x, ":", lịch. tháng_abbr [x], "-", lịch. ....
Nhập gấu trúc dưới dạng pd #create một chuỗi ngày = pd ..

Làm thế nào để bạn trích xuất tháng và năm kể từ một ngày ở Python?

Có hai bước để trích xuất năm cho tất cả các dữ liệu mà không cần sử dụng phương thức ...
Bước 1.Chuyển đổi cột thành DateTime: DF ['EarrivalDate'] = pd.to_dateTime (df ['estrangyDate'], format = '%y-%m-%d').
Bước 2.Trích xuất năm hoặc tháng bằng phương thức datetimeIndex () pd.dateTimeIndex (df ['arrivaldate']). Năm ..

Làm cách nào để trích xuất tháng và năm kể từ ngày?

Sử dụng công thức sau liên quan đến chức năng văn bản để trích xuất tháng và năm kể từ ngày:..
=TEXT(B3,"mmm/yy").
=MONTH(B3).
=YEAR(B3).
=CONCAT(C3,"/",D3).

Làm cách nào để lấy tháng ra khỏi một chuỗi trong Python?

Làm thế nào để trích xuất tháng từ ngày ở Python..
Nhập Datetime ..
ngày = '2021-05-21 11:22:03'.
datem = dateTime.ngày giờ.Strptime (ngày, "%y-%m-%d%h:%m:%s").
In (Datem. Ngày) # 25 ..
In (Datem. Tháng) # 5 ..
In (Datem. Năm) # 2021 ..
In (Datem. Giờ) # 11 ..
In (Datem. Phút) # 22 ..