簡體   English   中英

將列轉換為日期時間格式時顯示超出范圍的納秒時間戳錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM