最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python-apply(lambda x: )的使用及說明

 更新時間:2023年02月01日 14:39:38   作者:程序媛小姑娘  
這篇文章主要介紹了Python-apply(lambda x: )的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Python-apply(lambda x: )使用

def instant_order_deal(plat, special_product, clearance_goods, new_product_instant,orders):
    """
    :param plat: 要計算的平臺
    :param special_product: 特定庫齡產(chǎn)品,其他平臺的,amazon的在下面單獨讀取
    :param clearance_goods: 清倉產(chǎn)品
    :param new_product: 新品
    :param orders: 訂單
    :return:
    """
    # 退款訂單處理
    orders['訂單總金額(包含客戶運費、平臺補貼)'] = orders.apply(lambda x: 0 if (x['訂單類型'] == 'refund') else x['訂單總金額(包含客戶運費、平臺補貼)'], axis=1)
    "中間特定sku處理毛利"
    # orders['毛利'] = orders.apply(lambda x: (x['平均采購價']* 0.4 + x['毛利']) if (x['產(chǎn)品代碼'] == 'S4338867210')| (x['產(chǎn)品代碼']=='S2130010010') else x['毛利'],axis=1)
    orders['毛利'] = orders.apply(lambda x: (x['毛利'] + 5) if (x['產(chǎn)品代碼'] == 'S1416028410') | (x['產(chǎn)品代碼'] == 'S1416028440') | (x['產(chǎn)品代碼'] == 'S1416028470')  else x['毛利'], axis=1)
    """折價商品毛利計算 + 額溫槍"""
    depreciate = read_data().read_depreciate()
    orders['毛利'] = orders.apply(lambda x: (x['平均采購價'] * 0.4 * x['數(shù)量']  + x['毛利']) if (x['產(chǎn)品代碼'] in depreciate) and x['訂單類型'] == 'sale' else x['毛利'],axis=1)


    orders['平均采購價'] = orders.apply(lambda x: 0 if (x['訂單類型'] == 'resend') else x['平均采購價'], axis=1)
    # 中英倉處理
    orders['倉庫分類'] = orders.apply(lambda x: '中倉' if (x['發(fā)運倉庫'] =='SH [上海奉賢倉]') | (x['發(fā)運倉庫'] =='WZC [溫州倉]') | (x['發(fā)運倉庫'] =='SZC [深圳倉]') else '海外倉', axis=1)
    # 處理新品
    # if plat == 'ebay' or plat == 'shopee' or plat == 'amazon' :
    newproduct = read_data().read_newproduct()
    orders['倉庫分類'] = orders.apply(lambda x: '新品' if (x['產(chǎn)品代碼'] in newproduct) else x['倉庫分類'], axis=1)

    #處理海運產(chǎn)品
    shipping = read_data().read_shipping()
    orders['倉庫分類'] =orders.apply(lambda x: '海運產(chǎn)品' if(x['產(chǎn)品代碼'] in shipping  and  x['倉庫分類'] != '海外倉') else x['倉庫分類'],axis=1)

    # 當(dāng)月轉(zhuǎn)清倉處理
    orders['倉庫分類'] = orders.apply(lambda x: '特定庫齡'if isClearance(x['付款時間'], x['產(chǎn)品代碼'], clearance_goods) != None  else x['倉庫分類'], axis=1)

    # 特定庫齡處理
    orders['倉庫分類'] = orders.apply(lambda x: '特定庫齡' if (x['發(fā)運倉庫'] == 'GSE [古斯美東倉]' and x['平臺']!='ebay') else x['倉庫分類'], axis=1)
    if plat == 'amazon':
        # amazon的特定庫齡需要單獨讀取
        special_product_a = read_data().read_special_product(plat)
        special_product_as = read_data().read_special_product('amazon特殊')

        orders['倉庫分類'] = orders.apply(lambda x: '特定庫齡' if (x['產(chǎn)品代碼'] in special_product_as) else x['倉庫分類'], axis=1)
        orders['倉庫分類'] = orders.apply(lambda x: '特定庫齡' if ((x['發(fā)運倉庫'] + x['產(chǎn)品代碼']) in special_product_a) else x['倉庫分類'], axis=1)

    else:
        special_product = read_data().read_special_product('其他平臺')
        orders['倉庫分類'] = orders.apply(lambda x: '特定庫齡' if (x['產(chǎn)品代碼'] in special_product) else x['倉庫分類'], axis=1)
        orders['倉庫分類']=orders.apply(lambda x:'穩(wěn)定期' if (x['倉庫分類']=='中倉')| (x['倉庫分類']=='海外倉' )else x['倉庫分類'],axis=1 )
    # 處理好倉庫分類,接下來判斷是否是開發(fā)新品
    orders = pd.merge(orders, new_product_instant, on='產(chǎn)品代碼', how='left')
    orders['開發(fā)新品'] = orders['開發(fā)新品'].fillna('非開發(fā)新品')
    # 然后處理貨值
    orders['貨值'] = orders['數(shù)量'] * orders['平均采購價']

    # orders = pd.merge(orders,mask_instant, on='產(chǎn)品代碼', how='left')
    # orders['口罩'] = orders['口罩'].fillna('非口罩')

    return orders

python的lambda函數(shù)

Lambda 表達式

匿名函數(shù)的定義

在 Python 里有兩類函數(shù):

  • 第一類:用 def 關(guān)鍵詞定義的正規(guī)函數(shù)
  • 第二類:用 lambda 關(guān)鍵詞定義的匿名函數(shù)

Python 使用 lambda 關(guān)鍵詞來創(chuàng)建匿名函數(shù),而非def關(guān)鍵詞,它沒有函數(shù)名,其語法結(jié)構(gòu)如下:

lambda argument_list: expression
  • lambda - 定義匿名函數(shù)的關(guān)鍵詞。
  • argument_list - 函數(shù)參數(shù),它們可以是位置參數(shù)、默認(rèn)參數(shù)、關(guān)鍵字參數(shù),和正規(guī)函數(shù)里的參數(shù)類型一樣。
  • :- 冒號,在函數(shù)參數(shù)和表達式中間要加個冒號。
  • expression - 只是一個表達式,輸入函數(shù)參數(shù),輸出一些值。

注意:

  • expression 中沒有 return 語句,因為 lambda 不需要它來返回,表達式本身結(jié)果就是返回值。
  • 匿名函數(shù)擁有自己的命名空間,且不能訪問自己參數(shù)列表之外或全局命名空間里的參數(shù)。
def sqr(x):
?
? ? return x ** 2
?
print(sqr)
?
# <function sqr at 0x000000BABD3A4400>
?
y = [sqr(x) for x in range(10)]
?
print(y)
?
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
?
lbd_sqr = lambda x: x ** 2
?
print(lbd_sqr)
?
# <function <lambda> at 0x000000BABB6AC1E0>
?
y = [lbd_sqr(x) for x in range(10)]
?
print(y)
?
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
?
?
sumary = lambda arg1, arg2: arg1 + arg2
?
print(sumary(10, 20)) ?# 30
?
func = lambda *args: sum(args)
?
print(func(1, 2, 3, 4, 5)) ?# 15

匿名函數(shù)的應(yīng)用

函數(shù)式編程 是指代碼中每一塊都是不可變的,都由純函數(shù)的形式組成。這里的純函數(shù),是指函數(shù)本身相互獨立、互不影響,對于相同的輸入,總會有相同的輸出,沒有任何副作用。

def f(x):
?
? ? for i in range(0, len(x)):
?
? ? ? ? x[i] += 10
?
? ? return x
?
x = [1, 2, 3]
?
f(x)
?
print(x)
?
# [11, 12, 13]
?
def f(x):
?
? ? y = []
?
? ? for item in x:
?
? ? ? ? y.append(item + 10)
?
? ? return y
?
x = [1, 2, 3]
?
f(x)
?
print(x)
?
# [1, 2, 3]

匿名函數(shù) 常常應(yīng)用于函數(shù)式編程的高階函數(shù) (high-order function)中,主要有兩種形式:

  • 參數(shù)是函數(shù) (filter, map)
  • 返回值是函數(shù) (closure)

如,在 filter和map函數(shù)中的應(yīng)用:

filter(function, iterable) 過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象,如果要轉(zhuǎn)換為列表,可以使用 list() 來轉(zhuǎn)換。

odd = lambda x: x % 2 == 1?
templist = filter(odd, [1, 2, 3, 4, 5, 6, 7, 8, 9])?
print(list(templist)) ?# [1, 3, 5, 7, 9]

map(function, *iterables) 根據(jù)提供的函數(shù)對指定序列做映射。

m1 = map(lambda x: x ** 2, [1, 2, 3, 4, 5])
?
print(list(m1)) ?
?
# [1, 4, 9, 16, 25]
?
m2 = map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
?
print(list(m2)) ?
?
# [3, 7, 11, 15, 19]

除了 Python 這些內(nèi)置函數(shù),我們也可以自己定義高階函數(shù)。

def apply_to_list(fun, some_list):
?
? ? return fun(some_list)
?
lst = [1, 2, 3, 4, 5]
?
print(apply_to_list(sum, lst))
?
# 15
?
print(apply_to_list(len, lst))
?
# 5
?
print(apply_to_list(lambda x: sum(x) / len(x), lst))
?
# 3.0

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中的反射知識點總結(jié)

    Python中的反射知識點總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于Python中的反射知識點總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-11-11
  • Python 獲取當(dāng)前所在目錄的方法詳解

    Python 獲取當(dāng)前所在目錄的方法詳解

    本文給大家講解的是使用python獲取當(dāng)前所在目錄的方法以及相關(guān)示例,非常的清晰簡單,有需要的小伙伴可以參考下
    2017-08-08
  • Python全局變量用法實例分析

    Python全局變量用法實例分析

    這篇文章主要介紹了Python全局變量用法,結(jié)合實例形式分析了Python中全局變量的定義、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-07-07
  • python生成1行四列全2矩陣的方法

    python生成1行四列全2矩陣的方法

    今天小編就為大家分享一篇python生成1行四列全2矩陣的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 詳解MindSpore自定義模型損失函數(shù)

    詳解MindSpore自定義模型損失函數(shù)

    在不同的訓(xùn)練場景中,我們時常需要使用不同的損失函數(shù)來衡量一個模型的計算結(jié)果的優(yōu)劣,本文重點介紹了在MindSpore中如何去自定義一個損失函數(shù)。基于MindSpore中的Loss類,我們可以通過繼承該類后,再重寫construct函數(shù)和get_loss函數(shù)實現(xiàn)全面自定義的損失函數(shù)形式與內(nèi)容
    2021-06-06
  • python 使用matplotlib 實現(xiàn)從文件中讀取x,y坐標(biāo)的可視化方法

    python 使用matplotlib 實現(xiàn)從文件中讀取x,y坐標(biāo)的可視化方法

    今天小編就為大家分享一篇python 使用matplotlib 實現(xiàn)從文件中讀取x,y坐標(biāo)的可視化方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 在Python中使用dict和set方法的教程

    在Python中使用dict和set方法的教程

    這篇文章主要介紹了在Python中使用dict和set方法的教程,dict字典是Python中的重要基礎(chǔ)知識,set與其類似,需要的朋友可以參考下
    2015-04-04
  • pycharm開發(fā)一個簡單界面和通用mvc模板(操作方法圖解)

    pycharm開發(fā)一個簡單界面和通用mvc模板(操作方法圖解)

    這篇文章主要介紹了pycharm開發(fā)最簡單的界面和通用mvc模板的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Flask?使用類組織配置詳情

    Flask?使用類組織配置詳情

    這篇文章主要介紹了Flask使用類組織配置,在實際的項目中,我們一般都會建立三個環(huán)境:開發(fā)、測試和生產(chǎn)環(huán)境,這三種環(huán)境會使用不同的配置組合,為了能方便地切換配置,我們可以為不同的環(huán)境創(chuàng)建不同的配置文件,下面來看詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • 在python 中split()使用多符號分割的例子

    在python 中split()使用多符號分割的例子

    今天小編就為大家分享一篇在python 中split()使用多符號分割的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07

最新評論

丹寨县| 桃园县| 沾益县| 江安县| 犍为县| 北票市| 嘉义县| 方城县| 永和县| 郴州市| 弋阳县| 安平县| 渭源县| 吴川市| 大同县| 枝江市| 天镇县| 龙海市| 城市| 龙海市| 井冈山市| 锦屏县| 肥乡县| 怀仁县| 杨浦区| 万盛区| 娱乐| 长白| 邓州市| 阿鲁科尔沁旗| 安庆市| 兴安县| 新密市| 沁阳市| 屏南县| 鹤壁市| 常熟市| 禄劝| 正定县| 汉阴县| 米易县|