python - 如何将 pandas DataFrame 中的列提升为连续幂

标签 python pandas numpy pow

是否有一种Pythonic方法可以将DataFrame(xRaw)中的列提升为连续幂?有没有类似的东西

xRaw[:,k] = xRaw.pow(k) for k in range(1,6)

最佳答案

这是一个 Vandermonde 矩阵,numpy 有一个内置函数 np.vander

如果你有

s = pd.Series([1,2,3,4,5])

然后

np.vander(s, 6)

array([[   1,    1,    1,    1,    1,    1],
       [   1,    2,    4,    8,   16,   32],
       [   1,    3,    9,   27,   81,  243],
       [   1,    4,   16,   64,  256, 1024],
       [   1,    5,   25,  125,  625, 3125]])

要添加回 df,您可以使用 concat

df = pd.concat([df, pd.DataFrame(vander)], axis=1)

关于python - 如何将 pandas DataFrame 中的列提升为连续幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58347986/

相关文章:

python - csv2rec 和 polyfit 的问题

python - 将函数从 Python 转换为 C

python - 获取 matplotlib 颜色循环状态

python - 如何在keras中使用一维卷积神经网络解决音频信号问题

python - Opencv Python显示原始图像

python - 如何对文本文件执行多种功能

csv - np.savetxt 样式为 pandas DataFrame.to_csv 提供了很好的表格输出

python - pandas查询方法中关键字 'columns'是什么意思?

python - 添加一个可以将数值分为低中位数和高位数的列?

python - Python 中二维图像的非均匀采样