删除除列名行Pandas之外的所有值

时间:2020-08-13 09:59:51

标签: python pandas

我有一个数据框:

long  short  suggested_long  suggested_short
-2.11  5.11   #N/A           
-4.11  3.66   #REF!           #N/A
93.44  7.55   0               0
1256.4 966.5  563.5           #REF!

我想清除字符串中的所有值,但需要保留列名行,因为在清除所有值后需要插入数据。那么结果应该是:

long  short  suggested_long  suggested_short
-2.11  5.11             
-4.11  3.66             
93.44  7.55                 
1256.4 966.5            

我知道一些愚蠢的方法,例如删除两列,然后再添加两列;但这不是我想要的。 我认为其他人可能也有同样的问题,所以我在这里张贴,非常感谢

5 个答案:

答案 0 :(得分:1)

有点古怪,但是您可以将两列的值都设置为某个空的占位符,例如''None,例如:

df[["suggested_long", "suggested_short"]] = ""

答案 1 :(得分:1)

在熊猫中不能有空的列。您至少可以拥有空值。 如果要填充空值(或任何值),则可以使用以下代码:

df.suggested_long = np.NaN
df.suggested_short = np.NaN

答案 2 :(得分:0)

这应该对您有帮助。

df['ColumnName'] = df['ColumnName'].apply(lambda x: ' ' if x else ' ')

答案 3 :(得分:0)

您可以为该列分配一个值:

df['suggested_long'] = ''

答案 4 :(得分:0)

尝试一下...

data.suggested_long = ""
data.suggested_short = ""
print(data)