我正在使用 pandas 导入数据dfST = read_csv( ... , parse_dates={'timestamp':[date]})
在我的 csv 中,日期的格式为 YYY/MM/DD,这就是我所需要的 - 没有时间。我有几个数据集需要比较成员资格。当我将这些“时间戳”转换为字符串时,有时我会得到这样的结果:
'1977-07-31T00:00:00.000000000Z'
我理解是一个包含毫秒和时区的日期时间。有什么办法可以抑制导入时额外时间的增加吗?如果没有,我需要以某种方式排除它。
dfST.timestamp[1]
Out[138]: Timestamp('1977-07-31 00:00:00')
我尝试对其进行格式化,这似乎有效,直到我调用格式化值:
dfSTdate=pd.to_datetime(dfST.timestamp, format="%Y-%m-%d")
dfSTdate.head()
Out[123]:
0 1977-07-31
1 1977-07-31
Name: timestamp, dtype: datetime64[ns]
但是不......当我测试它的价值时,我也得到了时间:
dfSTdate[1]
Out[124]: Timestamp('1977-07-31 00:00:00')
当我将其转换为数组时,时间包含在毫秒和时区中,这确实让我的比较变得混乱。
test97=np.array(dfSTdate)
test97[1]
Out[136]: numpy.datetime64('1977-07-30T20:00:00.000000000-0400')
我怎样才能摆脱时间?!?
最终我希望使用比较数据集之间的成员资格numpy.in1d
将日期作为字符串 ('YYYY-MM-DD') 作为比较的一部分