我有一个csv测向头():
marker_name ars120_pos snp_bs ars120_chrn
0 ARS-BFGL-BAC-10172 5342658.0 [A/G] 2.0
1 ARS-BFGL-BAC-1020 6889656.0 [T/C] 14.0
2 ARS-BFGL-BAC-10245 NA [T/C] 14.0
3 ARS-BFGL-BAC-10345 5105727.0 [A/C] 14.0
4 ARS-BFGL-BAC-10365 25323952.0 [A/C] NA
那个DF有几百万行。我想把float的数据类型改为int32。 我试过:
ARS1_2 = ARS1_2.astype({'marker_name':'str','ars120_pos':'int32','snp_bs':'str','ars120_chrn':'int32'})
但我有
ValueError: Cannot convert non-finite values (NA or inf) to integer
如果我认为这是平均值,我不能把NA改成整数。好的。我可以去掉NA,但在cols中,我可以用X-Y染色体的符号“X”,“Y”-作为字符串。我知道我可以把它改成int,比如99和98,但是我想避免它。你知道吗
所以我的问题是: 将列中的所有浮点值更改为整数的最简单方法是什么? 我试过像这样的东西
if type(value) in col == float:
value.as_int
(这当然是伪代码,我不记得确切的代码)但它不太管用。。。而这只是一场有规律的if的游戏。也许我可以在熊猫身上做得更好更简单?你知道吗
我在网上看到过类似的帖子,但没有找到适合我的。请看上面的那条线。你知道吗
要将浮点列更改为整数列,请使用以下命令:
如果要同时浏览所有列:
要检查列的类型,请执行以下操作:
相关问题 更多 >
编程相关推荐