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ố.
- Sử dụng hàm trunc []
- Sử dụng int []
- 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-
- 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.
- 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 [].
- 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-
- 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.
- 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.
- Cuối cùng, chúng tôi đã in các giá trị được lưu trữ trong các biến này.
- 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-
- 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.
- Sau đó, chúng tôi đã khai báo một danh sách trống và thêm các giá trị trong đó.
- 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 [].
- 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ố.