[英]Showing out of bounds nanosecond timestamp error when converting column to datetime format
我正在使用數據集- Meteorite Landings,可以在這里找到- https://www.kaggle.com/nasa/meteorite-landings#meteorite-landings.csv
數據快照: https://imgur.com/a/CrwL3h6
數據集有一個“年份”列,我將其重命名為“year1”
data = data.rename(columns = {"year":"year1"})
給出year1列:
0 01/01/1880 12:00:00 AM
1 1/1/1951 0:00
2 1/1/1952 0:00
3 1/1/1976 0:00
4 1/1/1902 0:00
...
45711 1/1/1990 0:00
45712 1/1/1999 0:00
45713 1/1/1939 0:00
45714 1/1/2003 0:00
45715 1/1/1976 0:00
Name: year1, Length: 45716, dtype: object
我想將此列轉換為日期時間格式,以便僅保留年份,因為日期和時間是重復值,這是沒有用的,而且列的名稱是“年”。
我用這個:
data['year1'] = pd.to_datetime(data['year1'])
當我嘗試這樣做時它顯示一個錯誤:
OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1583-01-01 00:00:00
為了解決這個問題,我嘗試使用這個:
data['year1'] = pd.to_datetime(data['year1'],errors='coerce')
但這樣做時,即使那樣 year1 列也不是日期時間格式。
我該怎么做才能將其轉換為日期時間格式?
name id nametype recclass mass fall year reclat reclong GeoLocation
Aachen 1 Valid L5 21.0 Fell 1880.0 50.77500 6.08333 (50.775000, 6.083330)
Aarhus 2 Valid H6 720.0 Fell 1951.0 56.18333 10.23333 (56.183330, 10.233330)
Abee 6 Valid EH4 107000.0 Fell 1952.0 54.21667 -113.00000 (54.216670, -113.000000)
Acapulco 10 Valid Acapulcoite 1914.0 Fell 1976.0 16.88333 -99.90000 (16.883330, -99.900000)
Achiras 370 Valid L6 780.0 Fell 1902.0 -33.16667 -64.95000 (-33.166670, -64.950000)
Adhi Kot 379 Valid EH4 4239.0 Fell 1919.0 32.10000 71.80000 (32.100000, 71.800000)
Adzhi-Bogdo (stone) 390 Valid LL3-6 910.0 Fell 1949.0 44.83333 95.16667 (44.833330, 95.166670)
Agen 392 Valid H5 30000.0 Fell 1814.0 44.21667 0.61667 (44.216670, 0.616670)
Aguada 398 Valid L6 1620.0 Fell 1930.0 -31.60000 -65.23333 (-31.600000, -65.233330)
Aguila Blanca 417 Valid L 1440.0 Fell 1920.0 -30.86667 -64.55000 (-30.866670, -64.550000)
Pandas 拒絕使用早於 1677 的日期時間。但沒關系,因為您輸入的 CSV 文件具有完全相同的year
列:僅年份。 因此,只需停止將year
列轉換為日期時間的任何操作,並將其加載為普通的 integer 列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.