【发布时间】:2018-02-22 23:49:06
【问题描述】:
我正在使用充满浮点数的 pandas DataFrames,但每三行有一个整数(整行由整数组成)。当我创建一个print df 时,所有显示的值都显示为浮点数(整数值添加了一个``.000000``),例如:
aromatics charged polar unpolar
Ac_obs_counts 712.000000 1486.000000 2688.000000 2792.000000
Ac_obs_freqs 0.092732 0.193540 0.350091 0.363636
Ac_pvalues 0.524752 0.099010 0.356436 0.495050
Am_obs_counts 10.000000 59.000000 62.000000 50.000000
Am_obs_freqs 0.055249 0.325967 0.342541 0.276243
Am_pvalues 0.495050 0.980198 0.356436 0.009901
Ap_obs_counts 18.000000 34.000000 83.000000 78.000000
Ap_obs_freqs 0.084507 0.159624 0.389671 0.366197
Ap_pvalues 0.524752 0.039604 0.980198 0.663366
当我使用df.iloc[range(0, len(df.index), 3)] 时,我看到显示的是整数:
aromatics charged polar unpolar
Ac_obs_counts 712 1486 2688 2792
Am_obs_counts 10 59 62 50
Ap_obs_counts 18 34 83 78
Pa_obs_counts 47 81 125 144
Pf_obs_counts 31 58 99 109
Pg_obs_counts 27 106 102 108
Ph_obs_counts 7 49 42 36
Pp_obs_counts 15 83 45 65
Ps_obs_counts 57 125 170 216
Pu_obs_counts 14 62 102 84
当我使用 df.to_csv("mydf.csv", sep=",", encoding="utf-8") 时,整数被写为浮点数;如何强制将这些行写入为整数?将数据拆分为两个 DataFrame 会更好吗?
提前致谢。
【问题讨论】:
-
您对将整数值作为浮点数写入 csv 文件有任何顾虑吗?如果你的整数被写成浮点数,这通常并不重要。一种方法是将所有内容转换为字符串,然后另存为 csv。
-
是的,这实际上不是什么大问题,但是这些数字代表计数,为了方便起见,通常是整数^^