python pandas 溢出错误数据帧

标签 python pandas overflow stack-overflow

我是 python 的新手,我正在使用 pandas 库来处理数据框。 我创建了一个函数“elevate_power”,它读取一个数据框,其中包含一列浮点值(示例 x)和一个度数(示例 lambda),并输出一个数据框,其中每列包含原始列的幂(示例:输出为 x,x^2,x^3)

问题是当我的学位高于 30 时,我会收到溢出错误。 有办法解决这个问题吗?

我不是特别担心精度,所以我不介意失去一些精度。

但是,(这很重要),我需要输出为 float 类型,因为我随后会调用一些 numpy 子例程,如果我更改类型,这些子例程会给我错误。

我尝试了几种技巧:例如,我尝试在函数内使用小数,但后来我无法将格式恢复为 float ,这是一个问题,因为当我从 numpy 调用点积和线性代数求解器时会出错。

任何建议将不胜感激,

这是测试代码(我以较低的度值运行它,所以它不会崩溃):

def elevate_power(column, degree):
    df = pd.DataFrame(column)
    dfbase=df
    if degree > 0:
        for power in range(2, degree+1): 
            # first we'll give the column a name:
            name = 'power_' + str(power)
            df[name]= 0           
            df[name] = dfbase.apply(lambda x: x**power , axis=1)
    return(df)

   import pandas as pd
   import numpy as np
   test= pd.Series([1., 2., 3.])
   test2=pd.DataFrame(test)
   degree=5
   print elevate_power(test2, degree )
   np.dot(test2['power_2'],test2['power_3'])

The printout is :

   0  power_2  power_3  power_4  power_5
0  1        1        1        1        1
1  2        4        8       16       32
2  3        9       27       81      243

276.0

最佳答案

怎么样

import pandas as pd
import numpy as np
series = [1., 2., 3.]
degree = 5

a = pd.DataFrame({"power_" + str(power): np.power(series, power) for power in range(1, degree+1)})
print(a)
print(a.dtypes)

为我带来了花车

关于python pandas 溢出错误数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36087005/

相关文章:

python - 如何制作具有 readline 功能的扭曲 python 客户端

python - 将 Pandas 数据框转换为嵌套 JSON

javascript - 显示可滚动元素的底部,而不是默认的顶部

google-chrome - 当父项具有边框半径且子项具有动画时,隐藏的 CSS 溢出在 chrome 中不起作用

python - 使用 selenium,我将如何在 reddit 上单击删除和是?

python - Pygame - 更有效地从 spritesheet 中 blit Sprite ,或将单个 Sprite blit 到它们自己的表面?

python - Numpy 数组多个掩码

python - 如何使用 Pandas index.insert?

python - 提升对历史 Twitter 数据访问的时间跨度

html - 溢出:自动;在 chrome 中工作正常,但在 firefox 中不行