0
日付を表す文字列を含むフィールドを変換しようとしています。私は最初に値が文字列であることを保証する次のコードを使い始めると、これを文字列に変換します。 (文字列の形式はyyyymmdd
である)NULLをスキップしている間に文字列をdatetimeに変換します
def dateconvert(Start_date):
Date_String = str(Start_date)
dateconv = dt.datetime.strptime(Date_String, '%Y%m%d').strftime('%d/%m/%Y')
return dateconv
df['Newdates'] = df['Start_Date'].apply(dateconvert)
これが私に次のように述べてエラーを与えています。
ValueError: unconverted data remains: .0
私が摂取している値が浮動小数点であるためと思われたので、次のように追加しました。
def dateconvert(Start_date):
Start_date = int(Start_date)
Date_String = str(Start_date)
dateconv = dt.datetime.strptime(Date_String, '%Y%m%d').strftime('%d/%m/%Y')
return dateconv
df['Newdates'] = df['Start_Date'].apply(dateconvert)
しかし、このことは、これによって特定の分野でNull
値があるという事実のために私に
ValueError: cannot convert float NaN to integer
を与えます。
私は次のように試しましたが、以前と同じエラーが表示されます。
def dateconvert(Start_date):
if Start_date is not None:
Start_date = int(Start_date)
Date_String = str(Start_date)
dateconv = dt.datetime.strptime(Date_String, '%Y%m%d').strftime('%d/%m/%Y')
return dateconv
df['Newdates'] = df['Start_Date'].apply(dateconvert)
私がやりたいことは、この文字列をNULLにスキップして日付に変換することだけです。
ありがとうございました。
これは美しいです。ありがとう! – Taylrl