python - 使用 Python 如何从 Excel 文件获取输入、定义函数并在该 Excel 文件的新工作表中生成输出?

标签 python numpy

请帮助我了解如何解决这个问题,我是 Python 初学者。

我有一个特定的任务,我必须从 Excel 文件 (.xlsx) 导入数据并获取“计数”列以在 Python 中执行标准化。

然后在 Numpy 库下定义一个 Python 函数来执行此操作 normalization operation (或将来的任何操作)并将输出(标准化结果)打印到同一 Excel 工作簿中的新工作表

是否可以严格使用 numpy 来完成此任务?*

[ Excel 中使用的公式 -> ( =(A2-MIN($A$2:$A$11))/(MAX($A$2:$A$11)-MIN($A$2:$A$11)) *10 ) 将使用 numpy 翻译为 python 中的函数}

向我提供的说明如下:

import numpy as nd

def normalize (x):
    """ This function has the logic for normalization
    Inputs
    ------
      x: input count 
    Returns
    ------
      the transformed f(x)  
    """
    return x 

示例数据:

<表类=“s-表”> <标题> 计数 常数 <正文> 10 100 20 100 30 100 40 100 50 100 60 100 70 100 80 100 90 100 100 100

这是我到目前为止编写的代码:-

import pandas as pd
import numpy as np

data = pd.read_excel(r"path of file") #import or read excel file
data = data['Count'] #to convert the column into dataframe
data2 = data.to_numpy() #to convert dataframe into numpy array  
print(data2)

def normalize(data2):
    return ((data2 - min(data2))/(max(data2)-min(data2)))*10
  print(normalize(data2))

但是这段代码似乎并不完全符合提供的说明

最佳答案

我假设您的 Excel 文件是 csv 格式,如果不是,您可以打开并保存为 csv 格式的文件。

import numpy as np

#Opening data just with numpy lib
from numpy import genfromtxt
data = genfromtxt('Sample data.csv', delimiter=';') 

#Defining normalize function
def normalize(x,MA,MI):
  return ((x - MI)/(MA-MI))*10

#Cleaning ignored values
data2 = np.delete(data, 1, axis=1)     #Constant
data3 = np.delete(data2, 0, axis=0)    #Column Names

#Precalculating Min and Max
MI=np.amin(data3) 
MA=np.amax(data3)

#Applying function to the array
data4=np.apply_along_axis(normalize,1,data3,MA,MI)

print(data4)

输出数组:

[[ 0.        ]
 [ 1.11111111]
 [ 2.22222222]
 [ 3.33333333]
 [ 4.44444444]
 [ 5.55555556]
 [ 6.66666667]
 [ 7.77777778]
 [ 8.88888889]
 [10.        ]]

关于python - 使用 Python 如何从 Excel 文件获取输入、定义函数并在该 Excel 文件的新工作表中生成输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68409093/

相关文章:

python - 在 Keras 中使用 fasttext 预训练模型作为嵌入层

python - 如何从 matplotlib 中的 AxesSubplot 对象获取 BarContainer 对象?

python Tkinter 多线程

python - 在 Mac 上为多个 Python 发行版安装 pip

python - 计算张量后,如何将其显示为图像?

python - 我可以使用从异常 block 调用更高的异常 block 吗?

python - PyTables 有什么优势?

python - 为 scikit 线性回归模型生成 numpy 数组

python - 按特定列对矩阵进行排序(具有 2 位或更多数字)

python - 将数据框中每一行的前 N ​​个值保留在列索引组中