今天也要吃肉肉呜 2023-02-27 10:21 采纳率: 100%
浏览 21
已结题

Python定义函数

问题遇到的现象和发生背景

想把代码改写成函数

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

dataE1 = pd.read_csv(efile,sep='\t',header=None)
dfE1 = pd.DataFrame(dataE1)
dfE1.reset_index(inplace=True)
dfE1.columns = ['N1', 'E1']
scaler1 = lambda x : x+1
dfE1['N1']= dfE1['N1'].apply(scaler1)

dataE2 = pd.read_csv(efile,sep='\t',header=None)
dfE2 = pd.DataFrame(dataE2)
dfE2.reset_index(inplace=True)
dfE2.columns = ['N2', 'E2']
scaler2 = lambda x : x+1
dfE2['N2']= dfE2['N2'].apply(scaler2)
运行结果及详细报错内容

这样重复的片段可以写成一个函数形式吗

  • 写回答

2条回答 默认 最新

  • 霸都小魔女 2023-02-27 10:36
    关注

    小魔女参考了bing和GPT部分内容调写:
    是的,可以将重复的片段写成一个函数形式,这样可以方便程序的重用。下面是一个示例函数:

    def data_convert(data,columns,scaler):
        df = pd.DataFrame(data)
        df.reset_index(inplace=True)
        df.columns = columns
        df['NML'] = df['N1'].apply(scaler)
        return df
    

    这个函数接收3个参数:data(要处理的数据)、columns(要设置的列名)、scaler(要使用的转换函数)。然后在函数中将data转换成DataFrame对象,重置索引,设置列名,并使用scaler函数对N1列进行处理,最后返回处理后的DataFrame对象。

    使用该函数时,可以这样写:

    dfE1 = data_convert(dataE1, ["N1", "E1"], scalerl)
    dfE2 = data_convert(dataE2, ["N2", "E2"], scaler2)
    

    这样可以将重复的代码片段改写成一个函数形式,从而大大提高了代码的可读性和可维护性。
    回答不易,记得采纳呀。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月7日
  • 已采纳回答 2月27日
  • 创建了问题 2月27日

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?