Khi chuyển cột số nguyên, tôi biết cách sửa cột của tôi khi Pandas tự động chuyển đổi số nguyên thành số float vì sự hiện diện của NaN. I basically use the method described here.Pandas Shift Chuyển đổi Ints thành Float và Rounds
Tuy nhiên, nếu thay đổi giới thiệu một NaN chuyển đổi tất cả các số nguyên thành nổi, có một số làm tròn xảy ra (ví dụ: trên dấu thời gian).
Bất kỳ cách nào để sửa lỗi này?
Ví dụ dữ liệu:
pd.DataFrame({'epochee':[1495571400259317500,1495571400260585120,1495571400260757200, 1495571400260866800]})
Out[19]:
epoch
0 1495571790919317503
1 1495999999999999999
2 1495571400265555555
3 1495571400267777777
Ví dụ Code:
df['prior_epochee'] = df['epochee'].shift(1)
df.dropna(axis=0, how='any', inplace=True)
df['prior_epochee'] = df['prior_epochee'].astype(int)
đầu ra Kết quả:
Out[22]:
epoch prior_epoch
1 1444444444444444444 1400000000000000000
2 1433333333333333333 1490000000000000000
3 1777777777777777777 1499999999999999948
Bạn có thể cung cấp dữ liệu ví dụ về điều này xảy ra không? –
@Cedric xem câu hỏi được cập nhật – guy