【发布时间】:2015-06-24 23:32:31
【问题描述】:
我有一个大的 csv 文件(包含 21 列)。该文件包含用户最近几天的数据。我想根据列值过滤这个文件。该列是“注销时间”。列值类似于“Mon Jun 15 11:12:12 EST 2015”。我想为那些“注销时间”为“Mon Jun 15”的记录制作一个单独的 csv 文件,无论时间如何。 我尝试使用熊猫来做到这一点。为了获得这些记录,我尝试了这个:
df[df['Logout Time'].str.contains("Mon Jun 15")]
这给了我错误:
ValueError : 无法使用包含 NA / NaN 值的向量进行索引
我也试过这个:
df[df['Logout Time'].str.contains("Mon Jun 15") == True]
这不会过滤结果。它给了我原始 csv 的全部记录。
【问题讨论】:
-
你能发布
df.info()的输出吗?什么是注销时间?是 str 还是 datetime dtype?除非您没有匹配项,否则您的第一次尝试应该会成功,df['Logout Time'].str.contains("Mon Jun 15")显示什么? -
我将该列的 dtype 视为对象,既不是 str 也不是 datetime。 df['Logout Time'].str.contains("Mon Jun 15") 显示值错误 ValueError : cannot index with vector contains NA / NaN values
-
df['Logout Time'].dropna().str.contains("Mon Jun 15")有什么回报吗? -
是的..它给了我匹配的布尔输出(真/假)
-
df[df['Logout Time'].dropna().str.contains("Mon Jun 15")]工作吗?