Python Dataframe.max()提供所有NAN

Python Dataframe.max()提供所有NAN,python,pandas,dataframe,max,nan,Python,Pandas,Dataframe,Max,Nan,我有一个熊猫数据框,其中的数据如下所示: 数据超出了您在这里看到的范围。我不知道蓝色单元格是否包含数字或字符串数据,但它应该是数字的,因为我用乘法将它们转换为这些值。但我对熊猫的了解还不足以确定 无论如何,我在这个数据帧上调用.maxaxis=1,它给出了: 据我所知,没有空单元格或包含奇怪数据的单元格。那么为什么我要得到所有nan?首先通过以下方式将所有值转换为数值: 如果不起作用,请对非数值的NAN使用errors='concurve': df = df.apply(pd.to_numeri

我有一个熊猫数据框,其中的数据如下所示:

数据超出了您在这里看到的范围。我不知道蓝色单元格是否包含数字或字符串数据,但它应该是数字的,因为我用乘法将它们转换为这些值。但我对熊猫的了解还不足以确定

无论如何,我在这个数据帧上调用.maxaxis=1,它给出了:


据我所知,没有空单元格或包含奇怪数据的单元格。那么为什么我要得到所有nan?

首先通过以下方式将所有值转换为数值:

如果不起作用,请对非数值的NAN使用errors='concurve':

df = df.apply(pd.to_numeric, errors='coerce')
然后计算最大值:


首先,通过以下方式将所有值转换为数值:

如果不起作用,请对非数值的NAN使用errors='concurve':

df = df.apply(pd.to_numeric, errors='coerce')
然后计算最大值:


您可以共享df.count和df.dtypes吗?您可以检查列的数据类型。如果它是object,这意味着它有字符串。同时检查df['col'].isna.any。即使一行有nan,这也是正确的。@Zero@Mayank Porwal它是字符串。在isna检查中,它似乎没有发现任何错误的数字,但是看到我必须检查不到100列,我可能错过了一列,但是当我运行@jezrael的astype时,它没有说它不能转换空字符串,所以在某处有一个。但是用强制的方法来处理数字似乎已经达到了目的。你能共享df.count和df.dtypes吗?你可以检查列的数据类型。如果它是object,这意味着它有字符串。同时检查df['col'].isna.any。即使一行有nan,这也是正确的。@Zero@Mayank Porwal它是字符串。在isna检查中,它似乎没有发现任何错误的数字,但是看到我必须检查不到100列,我可能错过了一列,但是当我运行@jezrael的astype时,它没有说它不能转换空字符串,所以在某处有一个。但是,用强制手段解决这个问题似乎已经奏效了。
print (df.max(axis=1))