合并来自两个不同数据帧的两列以删除 Pandas 中的缺失值
Combing two columns from two different data frames to remove missing values in Pandas
我的第一个项目是泰坦尼克号数据集。为了估算变量 'Age' 的缺失值,我有一个线性回归模型 运行。现在,我有 2 个数据框如下 -
train_data.tail()
Survived Pclass Sex Age SibSp Parch Fare Embarked
886 0 2 male 27.0 0 0 13.00 S
887 1 1 female 19.0 0 0 30.00 S
888 0 3 female NaN 1 2 23.45 S
889 1 1 male 26.0 0 0 30.00 C
890 0 3 male 32.0 0 0 7.75 Q
imp_age.head()
Age
859 27.0
863 -8.0
868 27.0
878 27.0
888 23.0
上面给出的第二个数据帧具有我想用来代替第一个数据帧的 'NaN' 值的年龄值。两个数据框的列名 'Age' 下都有此数据。
我尝试运行使用以下代码来获取合并的 df -
merged_df = train_data.merge(imp_age,how='outer',left_index=True,right_index=True)
但输出会创建一个额外的 'Age_y' 列,而不是将其与旧列合并 -
Survived Pclass Sex Age_x SibSp Parch Fare Embarked Age_y
886 0 2 male 27.0 0 0 13.00 S NaN
887 1 1 female 19.0 0 0 30.00 S NaN
888 0 3 female NaN 1 2 23.45 S 23.0
889 1 1 male 26.0 0 0 30.00 C NaN
890 0 3 male 32.0 0 0 7.75 Q NaN
谁能帮我得到下面想要的输出。我在这方面做了很多来来去去,但由于我是 Python 的新手,所以我有点挣扎 -
Survived Pclass Sex Age SibSp Parch Fare Embarked
886 0 2 male 27.0 0 0 13.00 S
887 1 1 female 19.0 0 0 30.00 S
888 0 3 female 23.0 1 2 23.45 S
889 1 1 male 26.0 0 0 30.00 C
890 0 3 male 32.0 0 0 7.75 Q
试试 fillna,
train_data['Age'] = train_data['Age'].fillna(imp_age['Age'])
我的第一个项目是泰坦尼克号数据集。为了估算变量 'Age' 的缺失值,我有一个线性回归模型 运行。现在,我有 2 个数据框如下 -
train_data.tail()
Survived Pclass Sex Age SibSp Parch Fare Embarked
886 0 2 male 27.0 0 0 13.00 S
887 1 1 female 19.0 0 0 30.00 S
888 0 3 female NaN 1 2 23.45 S
889 1 1 male 26.0 0 0 30.00 C
890 0 3 male 32.0 0 0 7.75 Q
imp_age.head()
Age
859 27.0
863 -8.0
868 27.0
878 27.0
888 23.0
上面给出的第二个数据帧具有我想用来代替第一个数据帧的 'NaN' 值的年龄值。两个数据框的列名 'Age' 下都有此数据。
我尝试运行使用以下代码来获取合并的 df -
merged_df = train_data.merge(imp_age,how='outer',left_index=True,right_index=True)
但输出会创建一个额外的 'Age_y' 列,而不是将其与旧列合并 -
Survived Pclass Sex Age_x SibSp Parch Fare Embarked Age_y
886 0 2 male 27.0 0 0 13.00 S NaN
887 1 1 female 19.0 0 0 30.00 S NaN
888 0 3 female NaN 1 2 23.45 S 23.0
889 1 1 male 26.0 0 0 30.00 C NaN
890 0 3 male 32.0 0 0 7.75 Q NaN
谁能帮我得到下面想要的输出。我在这方面做了很多来来去去,但由于我是 Python 的新手,所以我有点挣扎 -
Survived Pclass Sex Age SibSp Parch Fare Embarked
886 0 2 male 27.0 0 0 13.00 S
887 1 1 female 19.0 0 0 30.00 S
888 0 3 female 23.0 1 2 23.45 S
889 1 1 male 26.0 0 0 30.00 C
890 0 3 male 32.0 0 0 7.75 Q
试试 fillna,
train_data['Age'] = train_data['Age'].fillna(imp_age['Age'])