【发布时间】:2019-11-24 16:19:15
【问题描述】:
我想在我的数据框中找到所有字符串,并且我想用 NaN 值替换它们,以便我可以使用函数 df.dropna() 删除所有关联的 NaN 值。例如,如果我有以下数据集:
x = np.array([1,2,np.NaN,4,5,6,7,8,9,10])
z = np.array([1,2,np.NaN,4,5,np.NaN,7,8,9,"My Name is Jeff"])
y = np.array(["Hello World",2,3,4,5,6,7,8,9,10])
我应该首先能够用 np.nan 动态替换所有字符串,所以我的输出应该是:
x = np.array([1,2,np.NaN,4,5,6,7,8,9,10])
z = np.array([1,2,np.NaN,4,5,np.NaN,7,8,9,np.NaN])
y = np.array([np.NaN,2,3,4,5,6,7,8,9,10])
然后运行 df.dropna() (假设 x,y,z 驻留在数据框中,而不仅仅是单独的变量)应该允许我:
x = np.array([2,4,5,7,8,9])
z = np.array([2,4,5,7,8,9])
y = np.array([2,4,5,7,8,9])
【问题讨论】:
-
第一个定义的dtypes是
float和string。第二,所有float。然后int。在带有字符串的 pandas 列中将是object。我认为nan列仍然是浮动的,但可能是对象。如果您从数据框开始,我建议您定义/显示它而不是 numpy 数组。
标签: python python-3.x pandas numpy dataframe