Python 大熊猫从桌子上掉下来
我试图从表中删除一些行,以便在图表上显示它们。 我想删除所有没有排名1的行,只统计获胜的球队。 我的代码如下所示:(cons是原始表的名称)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
您可以尝试首先在列中查找字符串
?
,创建布尔掩码和最后一个筛选行-使用布尔索引。如果需要将列转换为浮点,请使用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)]