【发布时间】:2017-09-29 12:01:51
【问题描述】:
我坚持很明显的任务。
我有一个缺少数据的 df。为了处理此类数据,我想测试两个数据帧。
对于第一个 X_real_zeros - 我将缺失替换为 0。
对于第二个 X_real_means - 使用列的平均值。
我已将所有数字列名称收集在一个数组中
numeric_cols = ['RFCD.Percentage.1', 'RFCD.Percentage.2', 'RFCD.Percentage.3',
'RFCD.Percentage.4', 'RFCD.Percentage.5',
'SEO.Percentage.1', 'SEO.Percentage.2', 'SEO.Percentage.3',
'SEO.Percentage.4', 'SEO.Percentage.5',
'Year.of.Birth.1', 'Number.of.Successful.Grant.1', 'Number.of.Unsuccessful.Grant.1']
然后我尝试创建两个数据帧。
data = pd.read_csv('data.csv')
X_real_zeros = data
for col in numeric_cols:
X_real_zeros[col] = data[col].fillna(0)
X_real_means = data
a = calculate_means(data[numeric_cols])
for col in numeric_cols:
print(a[col], col)
X_real_means[col] = data[col].fillna(a[col])
但是,当我想创建第二个时,事实证明,我的 data 数据框已被修改。无论如何,我认为我的方法不准确,解决此类任务的正确方法是什么?
【问题讨论】: