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.
Đượ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
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
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
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 Pandasdata['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.