通过部分字符串匹配过滤csv文件

时间:2015-06-24 13:26:24

标签: python csv pandas

我有一个很大的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的全部记录。

1 个答案:

答案 0 :(得分:1)

您的问题是,您的数据包含NaN个值,因此您需要先使用dropna删除它们:

df[df['Logout Time'].dropna().str.contains("Mon Jun 15")]

所以上面应该有效。