[英]python pandas to drop lines and substitute values in specific columns of a csv file
我可以使用pandas python模块执行以下操作:
我在网上搜索,找不到同时满足这两个条件的方法。
例:
此输入(其中NA是特定字符或空白,而X是另一个字符,已知为先验)
NA, 1, 2, X, 5, 6
5, 6, 7, 8, 9, 10
NA, 3, 4, 5, 6, 7
9, 8, 7, 6, 5, X
应该成为
5, 6, 7, 8, 9, 10
9, 8, 7, 6, 5, 0
要删除带有NA的行,您可以执行以下操作:
df.dropna()
要指定检查NaN的列,可以提供subset
关键字参数,请参阅http://pandas.pydata.org/pandas-docs/stable/genic/pandas.DataFrame.dropna.html
要替换某个值,您可以执行以下操作:
df.replace('X', 0)
完整示例:
In [14]: df
Out[14]:
0 1 2 3 4 5
0 NaN 1 2 X 5 6
1 5 6 7 8 9 10
2 NaN 3 4 5 6 7
3 9 8 7 6 5 X
In [15]: df.dropna(subset=[0,1])
Out[15]:
0 1 2 3 4 5
1 5 6 7 8 9 10
3 9 8 7 6 5 X
In [16]: df.dropna(subset=[0,1]).replace('X', 0)
Out[16]:
0 1 2 3 4 5
1 5 6 7 8 9 10
3 9 8 7 6 5 0
另外,在数字列中使用'X'
类'X'
字符串不是很有效(这会使它成为object
类型,而不是int
或float
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.