pandas之dataframe踩坑指南(一)---apply(func)


 

 

 

import pandas as pd
data = pd.read_csv(r"test數據.csv", engine="python",
                   encoding="utf-8")

def pprint(row):
    row["extra"]=1
    print(row)
    return row

data = data.apply(lambda x: pprint(x), axis=1)
print(data)

 apply在第一列/行上調用func兩次,以決定是否可以進行某些優化。

直接拿print使用,就不會出現 apply在第一列/行上調用func兩次的情況。

data = data.apply(lambda x: print(x), axis=1)

我猜測先運行第一行式為了設置分配內存空間。

解決方案:

flag=False

def pprint(row):
    global flag

    if flag:
        row["extra"]=1
        print(row)
        else:
        flag=True
  
    return row
data = data.apply(lambda x: pprint(x), axis=1) print(data)

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM