python上的转换

python上的转换,python,pandas,Python,Pandas,我想读取一个.dat文件,提取其时间戳==2000的行,并将它们保存在一个文件中,这是我的代码,我在转换查询时遇到了这个错误 有人能帮我吗?您应该使用pandas函数,而不是本机的datetime功能 ratings_df.loc[pd.to_datetime(ratings_df['Timestamp'], unit='s').year == 2000, colonnes] 时间戳的格式是获得正确输出的一个重要因素。确保您的字段是datetime ratings_df['timestamp'

我想读取一个.dat文件,提取其时间戳==2000的行,并将它们保存在一个文件中,这是我的代码,我在转换查询时遇到了这个错误


有人能帮我吗?

您应该使用pandas函数,而不是本机的datetime功能

ratings_df.loc[pd.to_datetime(ratings_df['Timestamp'], unit='s').year == 2000, colonnes]

时间戳的格式是获得正确输出的一个重要因素。

确保您的字段是datetime

ratings_df['timestamp'] = pd.to_datetime(ratings_df['timestamp'])
然后你可以从中抽出一年

ratings_df['timestamp'].dt.year

我找到了答案
def dateparse(时间单位:秒):
return datetime.datetime.fromtimestamp(float(时间单位为秒))
ratings_df=pd.read_表(“~/ml-1m/ratings.dat”,header=None,sep=':”,name=['user_id','movie_id','rating','timestamp'],parse_dates=['timestamp'],date_parser=dateparse)

感谢您的帮助

它返回1970年,我的文件不包含该年您没有给出时间戳值的示例这里有一个示例:956715569是的,这有助于知道字段在第二个链接中只有答案通常是堆栈溢出。随着时间的推移,链接可能会萎缩,变得不可用,这意味着你的答案对未来的用户来说是无用的。如果你能在你的实际帖子中提供你答案的一般细节,引用你的链接作为参考,那将是最好的。虽然这个链接可以回答这个问题,但最好在这里包括答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-谢谢你的提示。我将编辑我的答案:)