将 NA 填充为字符串 0,然后填充为 int 恢复为 float
Filling NAs to string 0 and then to int reverts to float
我在这里想要的是 Nans 最终是整数值。由于我的数据集有 1000 列,我不能只更改几列以使它们成为整数,当我在 Dask 中尝试 df = df.astype('int')
时,在将值更改为 0 浮点数之后,无论出于何种原因,它都没有工作。 `
虽然下面的值在 Pandas 中已全部恢复为浮点数;在 Dask 中,只有一些列的零值恢复为浮点数。我想如果我能在 Pandas 中解决这个问题,那么它可能也会在 Dask 中解决它(祈祷)。
import pandas as pd
import numpy as np
data = [['tom', 10, 15000], ['nick', 15, 12000], ['juli', 5, 20000]]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns = ['Name', 'Age', 'salary'])
import numpy as np
df = df.replace(5, np.nan)
df = df.replace(12000, np.nan)
expanded = df.replace(np.nan, '0')
expanded = expanded.replace('0', 0)
expanded
IIUC:
from dask.dataframe import from_pandas
ddf = from_pandas(df, npartitions=2)
out = ddf.select_dtypes('number').fillna(0).astype('int64')
输出:
>>> out.compute()
Age salary
0 10 15000
1 15 0
2 0 20000
我在这里想要的是 Nans 最终是整数值。由于我的数据集有 1000 列,我不能只更改几列以使它们成为整数,当我在 Dask 中尝试 df = df.astype('int')
时,在将值更改为 0 浮点数之后,无论出于何种原因,它都没有工作。 `
虽然下面的值在 Pandas 中已全部恢复为浮点数;在 Dask 中,只有一些列的零值恢复为浮点数。我想如果我能在 Pandas 中解决这个问题,那么它可能也会在 Dask 中解决它(祈祷)。
import pandas as pd
import numpy as np
data = [['tom', 10, 15000], ['nick', 15, 12000], ['juli', 5, 20000]]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns = ['Name', 'Age', 'salary'])
import numpy as np
df = df.replace(5, np.nan)
df = df.replace(12000, np.nan)
expanded = df.replace(np.nan, '0')
expanded = expanded.replace('0', 0)
expanded
IIUC:
from dask.dataframe import from_pandas
ddf = from_pandas(df, npartitions=2)
out = ddf.select_dtypes('number').fillna(0).astype('int64')
输出:
>>> out.compute()
Age salary
0 10 15000
1 15 0
2 0 20000