相关疑难解决方法(0)

抑制大熊猫的科学记数法?

我在pandas中有一个DataFrame,其中一些数字用科学记数法(或指数表示法)表示,如下所示:

                  id        value
id              1.00    -4.22e-01
value          -0.42     1.00e+00
percent        -0.72     1.00e-01
played          0.03    -4.35e-02
money          -0.22     3.37e-01
other            NaN          NaN
sy             -0.03     2.19e-04
sz             -0.33     3.83e-01
Run Code Online (Sandbox Code Playgroud)

而科学的符号使得应该是一个简单的比较,不必要的困难.我认为它是21900的价值,正在为其他人搞砸.我的意思是1.0编码.一!

这不起作用:

np.set_printoptions(supress=True) 
Run Code Online (Sandbox Code Playgroud)

并且pandas.set_printoptions没有实现抑制,并且我pd.describe_options()在绝望中看着所有,并且pd.core.format.set_eng_float_format()似乎只为所有其他浮点值打开它,没有能力将其关闭.

python numpy pandas

35
推荐指数
3
解决办法
5万
查看次数

熊猫读科学记数法和变化

我在 Pandas 中有一个数据框,我正在从 csv 中读取它。

我的一个列有值,其中包括NaNfloats,和科学记数法,即5.3e-23

我的问题是,当我在 csv 中阅读时,pandas 将这些数据视为object dtype,而不是float32应该的。我猜是因为它认为科学记数法条目是字符串。

我尝试df['speed'].astype(float)在读入后使用 using 转换 dtype ,并尝试在使用df = pd.read_csv('path/test.csv', dtype={'speed': np.float64}, na_values=['n/a']). 这会引发错误ValueError: cannot safely convert passed user dtype of <f4 for object dtyped data in column ...

到目前为止,这两种方法都没有奏效。我是否错过了一些非常容易修复的东西?

这个问题似乎表明我可以指定可能会引发错误的已知数字,但如果可能的话,我更愿意将科学记数法转换回浮点数。

编辑以在评论中显示来自 CSV 的数据

7425616,12375,28,2015-08-09 11:07:56,0,-8.18644,118.21463,2,0,2
7425615,12375,28,2015-08-09 11:04:15,0,-8.18644,118.21463,2,NaN,2
7425617,12375,28,2015-08-09 11:09:38,0,-8.18644,118.2145,2,0.14,2
7425592,12375,28,2015-08-09 10:36:34,0,-8.18663,118.2157,2,0.05,2
65999,1021,29,2015-01-30 21:43:26,0,-8.36728,118.29235,1,0.206836151554794,2
204958,1160,30,2015-02-03 17:53:37,2,-8.36247,118.28664,1,9.49242000872744e-05,7
384739,,32,2015-01-14 16:07:02,1,-8.36778,118.29206,2,Infinity,4
275929,1160,30,2015-02-17 03:13:51,1,-8.36248,118.28656,1,113.318511172611,5
Run Code Online (Sandbox Code Playgroud)

python csv pandas

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

pandas ×2

python ×2

csv ×1

numpy ×1