25
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ó DataFrame sau đây.
id int_date 1 20160228 2 20161231 3 20160618 4 20170123 5 20151124Làm thế nào để chuyển đổi ngày trên định dạng int cho đến ngày định dạng của mm/dd/yyyy? Bạn muốn điều này ở định dạng cụ thể cho các hoạt động Excel tiếp theo?
id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015Có thể tạo cột thứ ba chỉ với tháng bằng lời không? Giống như tháng một, tháng 2, vv từ int_date?
Tôi đã thử theo sau
date = datetime(year=int(s[0:4]), month=int(s[4:6]), day=int(s[6:8]))Nhưng ngày nằm trong đối tượng DateTime, làm thế nào để đặt nó làm ngày trong Pandas DF?
Fantabolous
Phim thương hiệu vàng 19,9k66 gold badges52 silver badges48 bronze badges
hỏi ngày 31 tháng 3 năm 2017 lúc 6:10Mar 31, 2017 at 6:10
1
Bạn có thể sử dụng các phương thức datetime.
from datetime import datetime a = '20160228' date = datetime.strptime(a, '%Y%m%d').strftime('%m/%d/%Y')Chúc may mắn;
Đã trả lời ngày 31 tháng 3 năm 2017 lúc 6:26Mar 31, 2017 at 6:26
1
Xây dựng một cột mới với applymap:
import pandas as pd dates = [ 20160228, 20161231, 20160618, 20170123, 20151124, ] df = pd.DataFrame(data=list(enumerate(dates, start=1)), columns=['id','int_date']) df[['str_date']] = df[['int_date']].applymap(str).applymap(lambda s: "{}/{}/{}".format(s[4:6],s[6:], s[0:4])) print(df)Emits:
$ python test.py id int_date str_date 0 1 20160228 02/28/2016 1 2 20161231 12/31/2016 2 3 20160618 06/18/2016 3 4 20170123 01/23/2017 4 5 20151124 11/24/2015Đã trả lời ngày 31 tháng 3 năm 2017 lúc 6:53Mar 31, 2017 at 6:53
Aghastaghastaghast
14.1k1 Huy hiệu vàng23 Huy hiệu bạc54 Huy hiệu đồng1 gold badge23 silver badges54 bronze badges
Chắc chắn sẽ có một giải pháp tốt hơn cho việc này, nhưng vì bạn có số 0 thay vì các phần tử một chữ số trong ngày của bạn (tức là 06 thay vì 6), tại sao không chuyển đổi nó thành chuỗi và chuyển đổi các tiểu mục?
Sử dụng DateTime cũng sẽ giúp bạn có được chuỗi tháng, v.v.
// Chỉnh sửa: Để chính xác hơn một chút, một cái gì đó như thế này nên thực hiện công việc:
def get_datetime(date): date_string = str(date) return datetime.date(date_string[:3], date_string[4:6], date_string[6:8]Đã trả lời ngày 31 tháng 3 năm 2017 lúc 6:24Mar 31, 2017 at 6:24
1
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
Trong bài viết này, chúng ta sẽ chuyển đổi chuỗi DateTime của định dạng ‘Yyyy-MM-DD, thành DateTime bằng Python. & NBSP;
Syntax:
datetime.datetime.strptime(input,format)
Parameter:
- Yyyy-MM-DD là viết tắt của ngày tháng.
- Chúng ta có thể chuyển đổi định dạng chuỗi thành DateTime bằng cách sử dụng hàm strptime (). Chúng tôi sẽ sử dụng & nbsp; ‘%y/%m/%d, & nbsp; định dạng để lấy chuỗi vào DateTime.
- Đầu vào là chuỗi DateTime
Định dạng là định dạng-‘Yyyy-MM-DD Python program to convert string datetime format to datetime
Python3
DateTime là mô -đun
Ví dụ: Chương trình Python để chuyển đổi định dạng DateTime thành DateTime thành DateTime
id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 0 datetime
id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 2 id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 3 id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 4
date = datetime(year=int(s[0:4]), month=int(s[4:6]), day=int(s[6:8])) 5date = datetime(year=int(s[0:4]), month=int(s[4:6]), day=int(s[6:8])) 6
id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 5 id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 3 id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 7 Convert a list of string DateTime to DateTime
Python3
DateTime là mô -đun
Ví dụ: Chương trình Python để chuyển đổi định dạng DateTime thành DateTime thành DateTime
id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 0 datetime
id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 2 id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 3 id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 4
import pandas as pd dates = [ 20160228, 20161231, 20160618, 20170123, 20151124, ] df = pd.DataFrame(data=list(enumerate(dates, start=1)), columns=['id','int_date']) df[['str_date']] = df[['int_date']].applymap(str).applymap(lambda s: "{}/{}/{}".format(s[4:6],s[6:], s[0:4])) print(df) 8date = datetime(year=int(s[0:4]), month=int(s[4:6]), day=int(s[6:8])) 5$ python test.py id int_date str_date 0 1 20160228 02/28/2016 1 2 20161231 12/31/2016 2 3 20160618 06/18/2016 3 4 20170123 01/23/2017 4 5 20151124 11/24/2015 0id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 5$ python test.py id int_date str_date 0 1 20160228 02/28/2016 1 2 20161231 12/31/2016 2 3 20160618 06/18/2016 3 4 20170123 01/23/2017 4 5 20151124 11/24/2015 2
id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 5 id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 3 id int_date 1 02/28/2016 2 12/31/2016 3 06/18/2016 4 01/23/2017 5 11/24/2015 7
2021-05-25 2020-05-25 2019-02-15 1999-02-04