删除熊猫中的无效行

时间:2018-12-18 04:00:11

标签: python python-3.x pandas

假设我有以下csv文件:

name,age
here is a random line right here
tom,40
julia,
brandon,20

并将其加载到数据帧中:

>>> pd.read_csv('example.txt')

                               name   age
0  here is a random line right here   NaN
1                               tom  40.0
2                             julia   NaN
3                           brandon  20.0

第0行有一个NaN,但是第2行也有(这是合法的-这是一个可选字段)。有什么方法可以确定熊猫中的这一行,从而排除不良行吗?我能想到的最接近的是:

>>> pd.read_csv('example.txt').dropna()
      name   age
1      tom  40.0
3  brandon  20.0

错误地删除了第2行。

1 个答案:

答案 0 :(得分:0)

pandas中,无法知道第0行是“不正确”,而第2行是“正确”。假设您仅使用,作为分隔符,则可以制作一个python脚本来删除csv中没有,的行。

执行此操作的一种快速方法是使用sed -n '/,/p' example.txt > filtered_example.txt,这将创建一个文件filetered_example.txt,其中没有多余的行。