假设我有以下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行。
答案 0 :(得分:0)
在pandas
中,无法知道第0行是“不正确”,而第2行是“正确”。假设您仅使用,
作为分隔符,则可以制作一个python脚本来删除csv中没有,
的行。
执行此操作的一种快速方法是使用sed -n '/,/p' example.txt > filtered_example.txt
,这将创建一个文件filetered_example.txt
,其中没有多余的行。