Hướng dẫn python datetime remove decimal seconds - ngày giờ trong python loại bỏ giây thập phân

4

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ó hai DF lớn từ hai bảng tính XLSX và muốn hợp nhất dữ liệu 'trên' Time Stamp ['Time'].

Vấn đề là một tập dữ liệu đã ghi lại thời gian đến số giây và phần còn lại đến cả giây. Điều này có nghĩa là hai khóa tập dữ liệu ['Time'] không bao giờ khớp với ...

df1     Time                                 df2     Time
0       00:07:53.755000                      0       00:07:53
1       00:07:54.096000                      1       00:07:54
2       00:07:55.097000                      2       00:07:55
3       00:07:56.099000                      3       00:07:56
4       00:07:57.002000                      4       00:07:57
5       00:07:58.012000                      5       00:07:58

Tôi đã thử sửa đổi các định dạng thời gian trong Excel nhưng nó luôn giữ được giá trị mili giây vì điều đó trong 24 giờ. Tôi cần loại bỏ các giây thập phân khỏi DF1 [hoặc chỉ cần chúng phù hợp bằng cách nào đó!] Để cho phép khớp với dữ liệu hàng từ DF2 và tôi hy vọng có một cách đơn giản hơn nhiều để làm điều này trong Python?

Cảm ơn bất kỳ và tất cả lời khuyên!

Đã hỏi ngày 26 tháng 2 năm 2018 lúc 23:44Feb 26, 2018 at 23:44

2

Trong df1, bạn chỉ có thể đặt micro giây thành 0:

df1['Time'] = pd.to_datetime[df1['Time']].apply[lambda x: x.replace[microsecond=0]]

Sau đó thực hiện hợp nhất của bạn như bình thường.

Đã trả lời ngày 27 tháng 2 năm 2018 lúc 14:08Feb 27, 2018 at 14:08

JPPJPPjpp

152K32 Huy hiệu vàng257 Huy hiệu bạc319 Huy hiệu đồng32 gold badges257 silver badges319 bronze badges

Tôi sẽ sử dụng gấu trúc strftime

df1['Time'] = pd.to_datetime[df1['Time']].dt.strftime['%H:%M:%S']
df2['Time'] = pd.to_datetime[df2['Time']].dt.strftime['%H:%M:%S']

merged = pd.merge[df1, df2, on='Time']

Đã trả lời ngày 27 tháng 2 năm 2018 lúc 0:10Feb 27, 2018 at 0:10

Noslenkwahnoslenkwahnoslenkwah

1.6221 Huy hiệu vàng16 Huy hiệu bạc24 Huy hiệu đồng1 gold badge16 silver badges24 bronze badges

2

Đây là một cách để làm điều này.

# convert time to str and remove millisecond
df1['Time'] = df1['Time'].astype[str]
df1['Time'] = df1['Time'].str.replace['\..*','']

# Just to be sure there are no error because of timeformat
df2['Time'] = df2['Time'].astype[str]

# now we can join
df3 = pd.merge[df1, df2, on='Time']

Đã trả lời ngày 26 tháng 2 năm 2018 lúc 23:59Feb 26, 2018 at 23:59

YoloyoloYOLO

Phim thương hiệu vàng 18,8K55 gold badges18 silver badges40 bronze badges

0

Chúng tôi đã làm việc với các loại số khác nhau trong Python và sửa đổi loại của chúng theo nhu cầu của chúng tôi.

Trong hướng dẫn này, chúng tôi sẽ thảo luận về cách chúng tôi có thể loại bỏ số thập phân trong Python.

Hãy bắt đầu với một chương trình đơn giản,

Output:



Explanation:

Trong chương trình trên, chúng tôi đã tuyên bố A, B và C lần lượt là 24, 19.4 và 3+4J.

Khi kiểm tra loại của họ, chúng tôi đã biết thuộc về lớp 'int', b thuộc về lớp 'float' và c thuộc về lớp 'phức tạp'.

Ở đây chúng tôi phải làm việc trên các số float, vì vậy hãy liệt kê các phương pháp khác nhau để loại bỏ số thập phân khỏi các số.

  1. Sử dụng hàm trunc []
  2. Sử dụng int []
  3. Sử dụng Split []

Cuối cùng, trong cách tiếp cận cuối cùng, chúng ta sẽ sử dụng Split [] thú vị để có được các giá trị số nguyên.

Chương trình sau đây minh họa cùng

Chúng ta hãy xem lời giải thích của chương trình trên-trunc[] function and remove the decimal present in the numbers.

Chương trình sau đây minh họa cùng

Output:

523

21

182

211

19

Explanation:

Chúng ta hãy xem lời giải thích của chương trình trên-

  1. Trong bước đầu tiên, chúng tôi đã tạo một danh sách chứa tất cả các giá trị thập phân.trunc[] function, we have imported the math module.
  2. Chúng tôi đã cung cấp năm giá trị thập phân khác nhau cho năm biến và kiểm tra loại của chúng sau khi chúng được truyền trong hàm trunc [].
  3. Khi thực hiện chương trình, nó hiển thị đầu ra cần thiết.

Sử dụng int []

Đã đến lúc biết cách tiếp cận thứ hai đang loại bỏ thập phân bằng int [].

Chương trình được đưa ra dưới đây cho thấy cách nó có thể được thực hiện-

Output:



523
21
182

Explanation:

Hãy hiểu những gì chúng ta đã làm ở đây-

  1. Trong bước đầu tiên, chúng tôi đã cung cấp các giá trị nổi cho ba biến và kiểm tra loại của chúng.
  2. Sau đó, chúng tôi đã chuyển từng biến cho int [] và lưu trữ chúng cho một biến mới.int[] and stored them to a new variable.
  3. Cuối cùng, chúng tôi đã in các giá trị được lưu trữ trong các biến này.
  4. Khi thực hiện chương trình này, đầu ra dự kiến ​​sẽ được hiển thị.

Sử dụng Split []

Cuối cùng, trong cách tiếp cận cuối cùng, chúng ta sẽ sử dụng Split [] thú vị để có được các giá trị số nguyên.

Chương trình sau đây minh họa cùng

Output:

The resultant list is: [523, 21, 182, 211, 19]

Explanation:

Chúng ta hãy xem lời giải thích của chương trình trên-

  1. Trong bước đầu tiên, chúng tôi đã tạo một danh sách chứa tất cả các giá trị thập phân.
  2. Sau đó, chúng tôi đã khai báo một danh sách trống và thêm các giá trị trong đó.
  3. Trong bước tiếp theo, chúng tôi đã lấy từng yếu tố từ danh sách đó và chuyển nó vào int [].
  4. Cuối cùng, chúng tôi đã hiển thị danh sách kết quả có chứa các số mà không có số thập phân.

Sự kết luận

Trong hướng dẫn này, chúng tôi đã bắt đầu với một ý tưởng chung về loại số chúng tôi sử dụng trong Python và sau đó học các phương pháp khác nhau để loại bỏ số thập phân khỏi các số.

Làm cách nào để loại bỏ thời gian thập phân trong Python?

Sử dụng phương thức int [] Để loại bỏ số thập phân khỏi một số, chúng ta có thể sử dụng phương thức int [] trong python. Phương thức int [] lấy số làm đối số và trả về số nguyên bằng cách xóa phần thập phân khỏi nó. Nó cũng có thể được sử dụng với số âm. To remove the decimal from a number, we can use the int[] method in Python. The int[] method takes the number as an argument and returns the integer by removing the decimal part from it. It can be also used with negative numbers.

Làm cách nào để bỏ qua giá trị thập phân trong Python?

Chuyển đổi loại trong Python giúp chuyển đổi số giá trị thập phân [số nổi] thành số nguyên.Do đó chuyển đổi float-> int loại bỏ tất cả số thập phân khỏi một số.float->int removes all decimals from a number.

Làm thế nào để bạn thoát khỏi số thập phân trong gấu trúc?

Bạn có một vài lựa chọn.....
Chuyển đổi mọi thứ thành số nguyên.DF.Asype [Int] 35 Cắt canxi 0 1 Đồng 1 0 Helium 0 8 Hydrogen 0 1 ..
Sử dụng vòng: >>> DF.vòng [] 35 canxi cắt 0 1 đồng 1 0 helium 0 8 hydro 0 1. nhưng không phải lúc nào cũng tuyệt vời ... ....
Thay đổi tùy chọn chính xác hiển thị của bạn trong gấu trúc ..

Làm thế nào để bạn thoát khỏi số thập phân?

Để chuyển đổi số thập phân thành một số hợp lý, hãy làm theo các bước sau: Bước 1: Viết ra số thập phân chia cho 1.Step 2: Nhân cả hai trên và dưới 10 cho mỗi số sau điểm thập phân.[Ví dụ: nếu có hai số sau điểm thập phân, thì hãy sử dụng 100, nếu có ba số thì hãy sử dụng 1000, v.v.]Step 1: Write down the decimal divided by 1. Step 2: Multiply both top and bottom by 10 for every number after the decimal point. [For example, if there are two numbers after the decimal point, then use 100, if there are three then use 1000, etc.]

Bài Viết Liên Quan

Chủ Đề