【发布时间】:2015-11-19 22:01:05
【问题描述】:
我有一个大型数据集,其中多个列具有 NaN 值。我使用python pandas 将几列中的缺失值替换为均值,其余的替换为中值。我去掉了所有的 NaN 值并将生成的 Dataframe 写入一个新文件。
现在,当我再次读取新文件时,它包含 NaN 而不是值。我无法弄清楚为什么会这样。以下是我的参考代码:
df = pd.DataFrame.from_csv('temp_train.csv',header=0)
df.prop_review_score=df.prop_review_score.fillna(0)
mean_score_2 = np.mean(df.prop_location_score2)
df.prop_location_score2 = df.prop_location_score2.fillna(mean_score_2)
median_search_query = np.median(df.srch_query_affinity_score)
df.srch_query_affinity_score = df.srch_query_affinity_score.fillna(median_search_query)
median_orig_distance = np.median(df.orig_destination_distance)
df.orig_destination_distance = df.orig_destination_distance.fillna(median_orig_distance)
df.to_csv('final_train_data.csv')
现在在另一个脚本中,当我输入以下内容时,我在srch_query_affinity_score 中得到NaNs
df = pd.DataFrame.from_csv('final_train_data.csv',header=0)
print df
【问题讨论】:
-
虽然可能是一个大文件,但应该可以手动检查“final_train_data.csv”并查找任何类似 NaN 的内容。否则,是否可以提供一个具有这些 NaN 问题的小型“temp_train.csv”(可能只有几行),以便其他人可以重现该问题?
-
Evert,我在 Sublime Text 中看到了该文件并搜索了 NaN,但没有找到任何 NaN。
-
我会一行一行地保存文件,然后计算出代码在哪一行出现故障。
prop_review_score中唯一可能的 NaN 是什么?如果不是,那么显然意味着 NaN 是 NaN,所以这可能会导致问题......