Tôi có một biến bao gồm 300k bản ghi với ngày và ngày trông giống như 2015-02-21 12:08:51 kể từ ngày đó tôi muốn xóa thời gian
2015-02-21 12:08:51
from that date i want to remove time
loại biến ngày là pandas.core.series.series
Đây là cách tôi đã thử
from datetime import datetime,date
date_str = textdata['vfreceiveddate']
format_string = "%Y-%m-%d"
then = datetime.strftime[date_str,format_string]
một số lỗi ngẫu nhiên
Trong mã trên, TextData là DataSetName của tôi và ngày VFFRECE được sử dụng là một biến bao gồm ngày làm thế nào tôi có thể viết mã để xóa thời gian từ DateTime.
How can i write the code to remove the time from the datetime.
Edchum
356K195 Huy hiệu vàng778 Huy hiệu bạc550 Huy hiệu Đồng195 gold badges778 silver badges550 bronze badges
Đã hỏi ngày 27 tháng 3 năm 2015 lúc 20:59Mar 27, 2015 at 20:59
0
Giả sử tất cả các chuỗi DateTime của bạn ở định dạng tương tự sau đó chỉ cần chuyển đổi chúng thành DateTime bằng cách sử dụng
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
7 và sau đó gọi thuộc tính In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
8 để chỉ nhận phần ngày:In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
CHỈNH SỬA
Nếu bạn chỉ muốn thay đổi màn hình chứ không phải DTYPE thì bạn có thể gọi
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
9:In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
Bạn có thể thấy rằng DTYPE vẫn là
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
0:In[11]:
df.dtypes
Out[11]:
date datetime64[ns]
dtype: object
Đã trả lời ngày 27 tháng 3 năm 2015 lúc 21:04Mar 27, 2015 at 21:04
EdchumedchumEdChum
356K195 Huy hiệu vàng778 Huy hiệu bạc550 Huy hiệu Đồng195 gold badges778 silver badges550 bronze badges
0
Đã hỏi ngày 27 tháng 3 năm 2015 lúc 20:59unbound method; but you're passing it a string instead of a datetime instance, whence the obvious error.
Giả sử tất cả các chuỗi DateTime của bạn ở định dạng tương tự sau đó chỉ cần chuyển đổi chúng thành DateTime bằng cách sử dụng
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
7 và sau đó gọi thuộc tính In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
8 để chỉ nhận phần ngày:CHỈNH SỬAcan use
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
0, but then you need to parse
the string first, not format it -- hence, strptime, not strftime:dt = datetime.strptime[date_str, '%Y-%m-%d %H:%M:%S']
date = dt.date[]
Nếu bạn chỉ muốn thay đổi màn hình chứ không phải DTYPE thì bạn có thể gọi
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
9:Bạn có thể thấy rằng DTYPE vẫn là
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
0:Mar 27, 2015 at 21:56
Đã trả lời ngày 27 tháng 3 năm 2015 lúc 21:04Alex Martelli
Edchumedchum164 gold badges1205 silver badges1385 bronze badges
Bạn đang gọi
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
1, yêu cầu là đối số đầu tiên của nó là một ví dụ In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
2, bởi vì đó là một phương thức không liên kết; Nhưng bạn đang chuyển nó một chuỗi thay vì một thể hiện DateTime, từ đó là lỗi rõ ràng.Bạn có thể làm việc hoàn toàn ở cấp độ chuỗi nếu đó là kết quả bạn muốn; Với dữ liệu bạn đưa ra làm ví dụ, ví dụ
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
3 sẽ chính xác là chuỗi In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
4 mà bạn dường như yêu cầu.Hoặc, bạn có thể sử dụng
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
0, nhưng sau đó bạn cần phân tích chuỗi trước, không định dạng nó - do đó, Strptime, không phải là thời gian:Jan 13 at 13:53
Trong hướng dẫn này, chúng tôi sẽ xem xét cách loại bỏ thành phần thời gian từ một ngày trong gấu trúc với sự trợ giúp của một số ví dụ.
Nếu bạn làm việc với ngày DateTime Pandas thì bạn chỉ cần gọi hàm
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
8 hoặc nếu bạn làm việc với loạt gấu trúc, bạn có thể sử dụng thuộc tính In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
9 để xóa thời gian từ ngày. Điều này tương tự như chỉ nhận được một năm hoặc tháng kể từ ngày gấu trúc. Sau đây là cú pháp:# remove time from a pandas timestamp object sample_date.date[] # remove time from a pandas series of dates df['Date'].dt.date
Lưu ý rằng nếu ngày không phải là ngày DateTime của Pandas, trước tiên bạn cần sử dụng
In[11]:
df.dtypes
Out[11]:
date datetime64[ns]
dtype: object
0 trước khi bạn có thể sử dụng thuộc tính In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
8.Hãy cùng xem xét một số ví dụ về việc sử dụng cú pháp trên.
1. Xóa thời gian từ ngày gấu trúc
Trước tiên, chúng ta hãy nhìn vào cách thời gian từ một đối tượng DateTime gấu trúc. Đối với điều này, áp dụng chức năng
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
8.import pandas as pd sample_date = pd.Timestamp["2020-04-16 08:30:00"] # display the date print[sample_date] # remove the time print[sample_date.date[]]
Output:
2020-04-16 08:30:00 2020-04-16
Bạn có thể thấy rằng chúng tôi chỉ nhận được ngày mà không có thành phần thời gian của nó. Cũng lưu ý rằng loại ngày được trả lại là
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
6 trong khi ngày ban đầu là một đối tượng dấu thời gian Pandas.print[type[sample_date]] print[type[sample_date.date[]]]
Output:
2. Xóa thời gian khỏi ngày trong cột gấu trúc
Để loại bỏ thời gian từ ngày trong loạt gấu trúc, bạn có thể sử dụng thuộc tính
In[10]:
df['date'] = pd.to_datetime[df['date']].dt.normalize[]
df
Out[10]:
date
0 2015-02-21
9 trên loạt. Đây là một ví dụ -In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
0Đầu ra:
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
1Trước khi chúng tôi tiến hành loại bỏ thời gian, trước tiên chúng tôi cần chuyển đổi cột thành DateTime Pandas.
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
2Bây giờ, hãy để thêm một cột mới vào DataFrame chứa ngày mà không có phần thời gian.
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
3Output:
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
4Bạn có thể thấy rằng ngày kết quả don don có thời gian với họ. Lưu ý rằng cột mới không có kiểu dữ liệu DateTime.
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
5Output:
In [37]:
df = pd.DataFrame[{'date':['2015-02-21 12:08:51']}]
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime[df['date']].dt.date
df
Out[39]:
date
0 2015-02-21
6Với điều này, chúng tôi đi đến cuối hướng dẫn này. Các ví dụ và kết quả mã được trình bày trong hướng dẫn này đã được triển khai trong A & NBSP; Jupyter Notebook & NBSP; với hạt nhân Python [phiên bản 3.8.3] có Pandas phiên bản 1.0.5
Đăng ký nhận bản tin của chúng tôi để biết thêm hướng dẫn và hướng dẫn thông tin. Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào.
We do not spam and you can opt out any time.
Piyush là một nhà khoa học dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trong quá khứ, anh ta làm việc như một nhà khoa học dữ liệu cho ZS và có bằng kỹ sư từ IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trên các dự án phụ.
Xem tất cả các bài viết