【发布时间】:2016-07-26 07:44:47
【问题描述】:
我正在加载具有多种数据类型(从 Excel 加载)的 Pandas 数据框。两个特定的列应该是浮动的,但有时研究人员会输入一个随机评论,如“未测量”。我需要删除任何两列之一中的任何值不是数字的行,并在其他列中保留非数字数据。一个简单的用例是这样的(真实的表有几千行……)
import pandas as pd
df = pd.DataFrame(dict(A = pd.Series([1,2,3,4,5]), B = pd.Series([96,33,45,'',8]), C = pd.Series([12,'Not measured',15,66,42]), D = pd.Series(['apples', 'oranges', 'peaches', 'plums', 'pears'])))
该数据表中的结果:
A B C D
0 1 96 12 apples
1 2 33 Not measured oranges
2 3 45 15 peaches
3 4 66 plums
4 5 8 42 pears
我不清楚如何到达这张桌子:
A B C D
0 1 96 12 apples
2 3 45 15 peaches
4 5 8 42 pears
我试过 dropna,但类型是“对象”,因为有非数字条目。 如果不转换整个表,或者一次执行一个系列,我就无法将值转换为浮点数,这会失去与行中其他数据的关系。也许有一些简单的我不理解?
【问题讨论】: