私はこの投稿をチェックしました:finding non-numeric rows in dataframe in pandas? しかし、実際には私の質問に答えていません。列内で数値以外の行を取得するpandas python
私のサンプルデータ:
N-D num unit
0 Q1 -1.48 UD
1 Q2 1.70 UD
2 Q3 -6.18 UD
3 Q4 0.25 UD
4 Q5 sum(d) UD
5 Q6 0.25 UD
私が非数値です列「NUM」の行のみをフィルタリングしたい:
import pandas as pd
d = {
'unit': ['UD', 'UD', 'UD', 'UD', 'UD','UD'],
'N-D': [ 'Q1', 'Q2', 'Q3', 'Q4','Q5','Q6'],
'num' : [ -1.48, 1.7, -6.18, 0.25, 'sum(d)', 0.25]
}
df = pd.DataFrame(d)
それはこのようになります。列 'num'の数値以外の値を含む行のみすべての列を欲しいです。この解決策は見つからないか、フィルター番号は文字列として保存された::のようなto_numeric
+ isnull
注によって作成されたマスクで
nonnumeric=df[~df.applymap(np.isreal).all(1)] #didn't work, it pulled out everything, besides i want the condition to check only column 'num'.
nonnumeric=df['num'][~df.applymap(np.isreal).all(1)] #didn't work, it pulled out all the rows for column 'num' only.