[英]Skipping rows in a csv file using Python Pandas
我有一个关于使用Pandas读取csv文件的快速问题。 我拥有的CSV文件的格式为:
Num Date Value1 Value2 Value3
1 7/29/11 1 2 3
2 7/22/11 NA 3 1
3 7/15/11 5 NA NA
4 7/6/11 -1 0 2
我想使用熊猫阅读此csv文件。 但是,我需要跳过具有任一列条目作为NA的行(在这种情况下,我需要跳过第2和3行)。
谢谢!
正如@Rutger指出的那样,您可以简单地使用dropna
:
In [11]: df.dropna(subset=['Value1', 'Value2', 'Value3'])
Out[11]:
Num Date Value1 Value2 Value3
0 1 7/29/11 1 2 3
3 4 7/6/11 -1 0 2
。
我建议的初始方式(这显然不是最佳方法),当您将其作为DataFrame读入后,可以使用notnull
删除这些行(您只想保留全部为notnull
那些行):
In [21]: df.loc[:, ['Value1', 'Value2', 'Value3']].apply(pd.notnull)
Out[21]:
Value1 Value2 Value3
0 True True True
1 False True True
2 True False False
3 True True True
In [22]: df.loc[:, ['Value1', 'Value2', 'Value3']].apply(pd.notnull).all(1)
Out[22]:
0 True
1 False
2 False
3 True
dtype: bool
并仅选择那些行:
In [23]: df[df.loc[:, ['Value1', 'Value2', 'Value3']].apply(pd.notnull).all(1)]
Out[23]:
Num Date Value1 Value2 Value3
0 1 7/29/11 1 2 3
3 4 7/6/11 -1 0 2
In [24]: df = df[df.loc[:, ['Value1', 'Value2', 'Value3']].apply(pd.notnull).all(1)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.