从其他列替换数据集的数字列
Replace Numeric Columns of dataset from other columns
我有一个包含很多列的数据集,我想提取数字列并替换为列的平均值,然后将这些修改后的列替换原始数据框中的列。
df1 = df.select_dtypes(include = ["number"]).apply(lambda x: x.fillna(x.mean()),axis=0)
df.loc[df.select_dtypes(include = ["number"])] = df1
我设法提取了数字列,但我无法替换它们,我的想法是不要手动指示哪些是那些数字列。
assign
new/changed DataFrame
可能更容易。这只会更改您更改的列。
new_df = df.assign(**df.select_dtypes('number').apply(lambda x: x.fillna(x.mean())))
如果想保留原来的DataFrame
,可以按以下步骤进行:
cols = df.select_dtypes('number').columns
df[cols] = df[cols].apply(lambda x: x.fillna(x.mean()))
我有一个包含很多列的数据集,我想提取数字列并替换为列的平均值,然后将这些修改后的列替换原始数据框中的列。
df1 = df.select_dtypes(include = ["number"]).apply(lambda x: x.fillna(x.mean()),axis=0)
df.loc[df.select_dtypes(include = ["number"])] = df1
我设法提取了数字列,但我无法替换它们,我的想法是不要手动指示哪些是那些数字列。
assign
new/changed DataFrame
可能更容易。这只会更改您更改的列。
new_df = df.assign(**df.select_dtypes('number').apply(lambda x: x.fillna(x.mean())))
如果想保留原来的DataFrame
,可以按以下步骤进行:
cols = df.select_dtypes('number').columns
df[cols] = df[cols].apply(lambda x: x.fillna(x.mean()))