时间戳以秒为单位返回日期时间的年份
Time Stamp is Returning Year in Seconds for Datetime
我的数据中有一个“YEAR”列。第二列是“JFK”,也就是风速。我需要转换 YEAR 列以显示任意月份和时间。但是需要保留年份。
例如,我有一些 1972 年的数据。我希望它的列显示为:
1972-01-01 00:00:00.000000000
但是,我得到的是:
1970-01-01 00:00:00.000001972
当我输入以下内容时:
winds["YEAR"] = pd.to_datetime(winds["YEAR"],errors='ignore')
出于某种原因,年份以秒为单位显示。任何帮助将不胜感激。
使用format=%Y
winds["YEAR"] = pd.to_datetime(winds["YEAR"],format='%Y')
此外,此解决方案假设您的输入是 integer/float,因为它无需格式即可正确解析字符串。
您首先需要将给定列解析为日期时间,然后将生成的日期时间格式化为字符串。
演示:
import pandas as pd
df = pd.DataFrame({'year': [1972]})
df['year'] = pd.to_datetime(df['year'], format='%Y').dt.strftime('%Y-%m-%d 00:00:00.000000000')
print(df)
输出:
year
0 1972-01-01 00:00:00.000000000
我的数据中有一个“YEAR”列。第二列是“JFK”,也就是风速。我需要转换 YEAR 列以显示任意月份和时间。但是需要保留年份。
例如,我有一些 1972 年的数据。我希望它的列显示为:
1972-01-01 00:00:00.000000000
但是,我得到的是:
1970-01-01 00:00:00.000001972
当我输入以下内容时:
winds["YEAR"] = pd.to_datetime(winds["YEAR"],errors='ignore')
出于某种原因,年份以秒为单位显示。任何帮助将不胜感激。
使用format=%Y
winds["YEAR"] = pd.to_datetime(winds["YEAR"],format='%Y')
此外,此解决方案假设您的输入是 integer/float,因为它无需格式即可正确解析字符串。
您首先需要将给定列解析为日期时间,然后将生成的日期时间格式化为字符串。
演示:
import pandas as pd
df = pd.DataFrame({'year': [1972]})
df['year'] = pd.to_datetime(df['year'], format='%Y').dt.strftime('%Y-%m-%d 00:00:00.000000000')
print(df)
输出:
year
0 1972-01-01 00:00:00.000000000