所以我一直在玩这个,当我使用read_csv()
将不同的csv文件读入我的程序时,这似乎确实发生了。然后发生的事情正是docs所说的将会发生的事情:
默认情况下,以下值被解释为NaN:'','#N / A','#N / AN / A','#N',' - 1。#IND',' - 。#。 QNAN',' - N',' - nan','1。#IND','1。#QNAN','N / A','NA','NULL','NaN','nan'。< / p>
所以我不在考虑我的代码中的这一步;感谢所有帮助过的人。
我通过使用字符串&#34; NA&#34;填充列来在pandas中创建电子表格。 (spreadsheet['name']="NA"
)然后逐步用实际数据点替换那些&#34; NA&#34; s。
我是这样做的:spreadsheet.loc[spread[match row number here], =inputstring.split("\t")
当用.to_csv()
输出数据时,我惊讶地发现大熊猫显然解释了这些&#34; NA&#34;字符串表示缺少数据,例如它将它替换为na_rep=
中的任何内容。我主要使用&#34; NA&#34; s作为占位符,并没有想到大熊猫(输出缺失的数据为&#34; Nan&#34;)会弄乱它们。
我在documentation on missing data找不到任何关于此问题的内容,他们使用np.nan
因此,
Pandas只会解释字符串&#34; NA&#34;是否正确?在我的电子表格中的任何地方&#34;缺少数据&#34;?他们做某种字符串匹配吗?
如果是这样,那么可以使用哪些其他字符串?或者表示缺少数据点的最合法方式是什么?
如果为true,这种行为对我来说似乎有点危险/会导致意外行为。或者这不是真的吗?
非常感谢任何有关资源的帮助/指示!
答案 0 :(得分:0)
你可以这样试试:
spreadsheet = pd.DataFrame({'name': ['NA', 'NA', 'NA', 'NA', 'NA']})
spreadsheet
name
0 NA
1 NA
2 NA
3 NA
4 NA
然后,如果您想要替换几个NA
,您可以选择要替换它们的位置。
spreadsheet.loc[1:2] = 'foo'
spreadsheet
name
0 NA
1 foo
2 foo
3 NA
4 NA