
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)

