Python 如何在过滤掉数据框中具有特定值的行后创建数据框的反转
我有一个数据框,其中有一些行有特殊字符(“+”),我想过滤和删除这些行。“+”在每一列中Python 如何在过滤掉数据框中具有特定值的行后创建数据框的反转,python,pandas,Python,Pandas,我有一个数据框,其中有一些行有特殊字符(“+”),我想过滤和删除这些行。“+”在每一列中 Acceleration Aggression Agility Balance Ball control Composure Crossing Curve Dribbling Finishing Free kick accuracy GK diving GK handling GK kicking GK positioning GK reflexes H
Acceleration Aggression Agility Balance Ball control Composure Crossing Curve Dribbling Finishing Free kick accuracy GK diving GK handling GK kicking GK positioning GK reflexes Heading accuracy ID Interceptions Jumping Long passing Long shots Marking Penalties Positioning Reactions Short passing Shot power Sliding tackle Sprint speed Stamina Standing tackle Strength Vision Volleys
1495 72 80 68 59 68 69 54 59 71 79 44 15 7 6 16 16 69 211899 36 65 48 72 27 66 77 74 68 81 28 77 80 35 81 63 73
1496 54 76 60 53 68 68 44 68 63 46 76 11 14 6 9 9 76 205756 73 79 71 60 74 63 41 74 73 83 77 56 64 76 80 61 43
1497 75+1 66 68+2 64 77 72 75 62 73+2 44 46 15 10 8 13 11 64 193470 73 67+2 74+2 41 78 49 74 72+1 78 56 78+1 74+1 74+2 79 68+1 69 39
我试着用
df1=df.stack().str.contains(r'[+-/*]')
创建一个过滤器,但我似乎无法让它工作。处理此问题的更好方法是什么?列标题中的空格分隔符在示例数据中有点不一致。在所有列中用NaN替换无效数字的最简单方法如下所示
df = pd.read_csv(io.StringIO(""" Acceleration Aggression Agility Balance Ball control Composure Crossing Curve Dribbling Finishing Free kick accuracy GK diving GK handling GK kicking GK positioning GK reflexes Heading accuracy ID Interceptions Jumping Long passing Long shots Marking Penalties Positioning Reactions Short passing Shot power Sliding tackle Sprint speed Stamina Standing tackle Strength Vision Volleys
1495 72 80 68 59 68 69 54 59 71 79 44 15 7 6 16 16 69 211899 36 65 48 72 27 66 77 74 68 81 28 77 80 35 81 63 73
1496 54 76 60 53 68 68 44 68 63 46 76 11 14 6 9 9 76 205756 73 79 71 60 74 63 41 74 73 83 77 56 64 76 80 61 43
1497 75+1 66 68+2 64 77 72 75 62 73+2 44 46 15 10 8 13 11 64 193470 73 67+2 74+2 41 78 49 74 72+1 78 56 78+1 74+1 74+2 79 68+1 69 39"""), sep="\s\s+", engine="python")
df.apply(pd.to_numeric, errors="coerce")
您需要过滤掉哪些特殊字符?“+”是我在数据集中看到的唯一字符。现在只剩下带“+”的行了。谢谢你,罗伯。成功了!