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