Gấu trúc để ngày excel mà không có thời gian

Ví dụ: đây là tập dữ liệu đơn giản về 3 ngày khác nhau [với định dạng là yyyymmdd], khi một cửa hàng có thể được mở hoặc đóng cửa

NgàyTrạng thái20210305Đã mở20210316Đã mở20210328Đã đóng

Bước 2. Tạo một khung dữ liệu

Tiếp theo, tạo DataFrame để thu thập dữ liệu trên bằng Python. Bạn có thể nắm bắt ngày dưới dạng chuỗi bằng cách đặt dấu ngoặc kép quanh các giá trị bên dưới cột 'ngày'

import pandas as pd

values = {'dates':  ['20210305','20210316','20210328'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

print [df]
print [df.dtypes]

Chạy mã bằng Python và bạn sẽ nhận được Khung dữ liệu này

      dates  status
0  20210305  Opened
1  20210316  Opened
2  20210328  Closed
dates     object
status    object
dtype: object

Lưu ý rằng 'ngày' thực sự được lưu trữ dưới dạng chuỗi [được biểu thị bằng đối tượng]

Bước 3. Chuyển đổi chuỗi thành ngày giờ trong DataFrame

Sau đó, bạn có thể sử dụng mẫu bên dưới để chuyển đổi chuỗi thành ngày giờ trong Pandas DataFrame

df['DataFrame Column'] = pd.to_datetime[df['DataFrame Column'], format=specify your format]

Nhớ lại rằng đối với ví dụ của chúng tôi, định dạng ngày là yyyymmdd

Định dạng ngày này có thể được biểu diễn dưới dạng

format='%Y%m%d'

Lưu ý rằng dữ liệu chuỗi [yyyymmdd] phải khớp với định dạng đã chỉ định [%Y%m%d]. Bạn có thể tham khảo nguồn sau đây để biết sự khác biệt mà bạn có thể áp dụng

Ví dụ của chúng tôi, mã Python hoàn chỉnh để chuyển đổi chuỗi thành ngày giờ sẽ là

import pandas as pd

values = {'dates': ['20210305','20210316','20210328'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

df['dates'] = pd.to_datetime[df['dates'], format='%Y%m%d']

print [df]
print [df.dtypes]

Bạn sẽ thấy rằng kiểu dữ liệu cho cột 'dates' bây giờ là datetime

       dates  status
0 2021-03-05  Opened
1 2021-03-16  Opened
2 2021-03-28  Closed
dates     datetime64[ns]
status            object
dtype: object

Lưu ý rằng khi áp dụng pd. to_datetime, định dạng mặc định là yyyymmdd. Vì vậy, trong ví dụ cụ thể ở trên, bạn có thể xóa định dạng =’%Y%m%d’ khỏi mã. Tuy nhiên, trong các tình huống khác, như bạn sẽ thấy bên dưới, bạn phải chỉ định định dạng chính xác để khớp với dữ liệu chuỗi

Chuyển đổi định dạng bổ sung

Giả sử rằng các ngày hiện được định dạng là ddmmyyyy

NgàyTrạng thái05032021Đã mở16032021Đã mở28032021Đã đóng

Trong trường hợp đó, bạn sẽ cần áp dụng định dạng bên dưới [để tham khảo, hãy kiểm tra phần sau để xác định định dạng chính xác mà bạn nên áp dụng]

format='%d%m%Y'

Đây là mã Python hoàn chỉnh

import pandas as pd

values = {'dates':  ['05032021','16032021','28032021'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

df['dates'] = pd.to_datetime[df['dates'], format='%d%m%Y']

print [df]
print [df.dtypes]

Như trước đây, chuỗi của bạn bây giờ sẽ được chuyển đổi thành datetime

       dates  status
0 2021-03-05  Opened
1 2021-03-16  Opened
2 2021-03-28  Closed
dates     datetime64[ns]
status            object
dtype: object

Điều gì sẽ xảy ra nếu ngày của bạn có định dạng ddmmmyyyy [e. g. , 05Mar2021]?

Sau đó, bạn sẽ cần áp dụng những điều dưới đây [bằng cách thay đổi 'm' thành 'b']

import pandas as pd

values = {'dates':  ['20210305','20210316','20210328'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

print [df]
print [df.dtypes]
0

Vì vậy, mã Python hoàn chỉnh của bạn sẽ trông như thế này

import pandas as pd

values = {'dates':  ['20210305','20210316','20210328'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

print [df]
print [df.dtypes]
1

Bây giờ bạn sẽ nhận được định dạng ngày giờ

       dates  status
0 2021-03-05  Opened
1 2021-03-16  Opened
2 2021-03-28  Closed
dates     datetime64[ns]
status            object
dtype: object

Giả sử rằng ngày của bạn hiện có dấu gạch ngang [e. g. , ’05-Mar-2021′]

Trong trường hợp đó, chỉ cần thêm các dấu gạch ngang như sau

import pandas as pd

values = {'dates':  ['20210305','20210316','20210328'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

print [df]
print [df.dtypes]
3

Đây là mã Python đầy đủ

import pandas as pd

values = {'dates':  ['20210305','20210316','20210328'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

print [df]
print [df.dtypes]
4

Và kết quả

       dates  status
0 2021-03-05  Opened
1 2021-03-16  Opened
2 2021-03-28  Closed
dates     datetime64[ns]
status            object
dtype: object

Định dạng có Dấu thời gian

Giả sử rằng chuỗi của bạn chứa cả ngày và giờ

NgàyTình trạng20210305093000Đã mở20210316093000Đã mở20210328200000Đã đóng

Trong trường hợp đó, định dạng nên được chỉ định là

import pandas as pd

values = {'dates':  ['20210305','20210316','20210328'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

print [df]
print [df.dtypes]
6

Vì vậy, mã Python đầy đủ sẽ là

import pandas as pd

values = {'dates':  ['20210305','20210316','20210328'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

print [df]
print [df.dtypes]
7

Bây giờ bạn sẽ thấy định dạng ngày giờ

import pandas as pd

values = {'dates':  ['20210305','20210316','20210328'],
          'status': ['Opened','Opened','Closed']
          }

df = pd.DataFrame[values]

print [df]
print [df.dtypes]
8

Bây giờ, giả sử rằng các chuỗi chứa các ký tự, chẳng hạn như ký tự gạch ngang [“-“] để phân tách giữa ngày và giờ

Làm cách nào để chỉ lấy ngày từ gấu trúc datetime?

Phương pháp 1. Sử dụng hàm ngày tháng .
dataframe là khung dữ liệu đầu vào
to_datetime là hàm dùng để chuyển chuỗi datetime thành datetime
DateTime là cột ngày giờ trong khung dữ liệu
đt. ngày được sử dụng để chuyển đổi ngày giờ thành ngày
Cột ngày là cột mới để lấy ngày từ datetime

Làm cách nào để xóa thời gian khỏi dấu thời gian trong gấu trúc Python?

hàm strftime[] để xóa thời gian khỏi datetime trong Python. Chúng ta cũng có thể sử dụng hàm strftime[] để xóa thời gian khỏi datetime trong Python. Hàm strftime[] được sử dụng để trả về một chuỗi dựa trên đối tượng datetime.

Làm cách nào để chuyển đổi ngày giờ thành chuỗi trong gấu trúc?

Sử dụng astype[] để thay đổi ngày giờ thành định dạng chuỗi . Ví dụ dưới đây trả về ngày dưới dạng chuỗi có định dạng %Y/%m/%d. dtype của cột ConvertedDate sẽ là đối tượng [ string ]. Sản lượng dưới sản lượng.

Làm cách nào để thay đổi đối tượng thành ngày trong gấu trúc?

Sử dụng gấu trúc. gấu trúc. phương thức to_datetime[] được sử dụng để thay đổi thời gian Chuỗi/Đối tượng thành loại ngày [datetime64[ns]]. Phương pháp này đủ thông minh để thay đổi các định dạng khác nhau của cột ngày Chuỗi thành ngày.

Chủ Đề