Python 大熊猫从桌子上掉下来

Python 大熊猫从桌子上掉下来,python,pandas,matplotlib,Python,Pandas,Matplotlib,我试图从表中删除一些行,以便在图表上显示它们。 我想删除所有没有排名1的行,只统计获胜的球队。 我的代码如下所示:(cons是原始表的名称) 您可以尝试首先在列中查找字符串?,创建布尔掩码和最后一个筛选行-使用布尔索引。如果需要将列转换为浮点,请使用astype: print ~((df['X'] == '?' ) (df['Y'] == '?' ) | (df['Z'] == '?' )) 0 False 1 True 2 False 3 True 4 Fa

我试图从表中删除一些行,以便在图表上显示它们。 我想删除所有没有排名1的行,只统计获胜的球队。 我的代码如下所示:(cons是原始表的名称)


您可以尝试首先在列中查找字符串
,创建布尔掩码和最后一个筛选行-使用布尔索引。如果需要将列转换为浮点,请使用astype:

print ~((df['X'] == '?' )  (df['Y'] == '?' ) | (df['Z'] == '?' ))
0    False
1     True
2    False
3     True
4    False
dtype: bool

df1 = df[~((df['X'] == '?' ) | (df['Y'] == '?' ) | (df['Z'] == '?' ))].astype(float)
print df1
   X  Y  Z
1  1  2  3
3  4  4  4

print df1.dtypes
X    float64
Y    float64
Z    float64
dtype: object
或者您可以试试:

df['X'] = pd.to_numeric(df['X'], errors='coerce')
df['Y'] = pd.to_numeric(df['Y'], errors='coerce')
df['Z'] = pd.to_numeric(df['Z'], errors='coerce')
print df
    X   Y   Z
0   0   1 NaN
1   1   2   3
2 NaN NaN   4
3   4   4   4
4 NaN   2   5
print ((df['X'].notnull() ) & (df['Y'].notnull() ) & (df['Z'].notnull() ))
0    False
1     True
2    False
3     True
4    False
dtype: bool

print df[ ((df['X'].notnull() ) & (df['Y'].notnull() ) & (df['Z'].notnull() )) ].astype(float)
   X  Y  Z
1  1  2  3
3  4  4  4
最好是使用:

df = df[(df != '?').all(axis=1)]
或:


哦,谢谢,伙计,我只是一个初学者,还有一个愚蠢的问题,所以要做这种过滤器,我需要始终首先更改数据类型,对吗?是的,您还需要在第8个端口输入rewas companion以模拟python矩阵。这是很基本的东西,你应该能理解。谢谢,现在一切都对我有用了
df = df[(df != '?').all(axis=1)]
df = df[~(df == '?').any(axis=1)]