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)
相关推荐
roamer 2020-10-29
三石 2020-08-23
QianYanDai 2020-08-16
mmmjyjy 2020-07-16
QianYanDai 2020-07-05
QianYanDai 2020-07-05
jiahaohappy 2020-06-21
QianYanDai 2020-06-16
zhangxiaojiakele 2020-05-25
jzlixiao 2020-05-15
jiahaohappy 2020-05-12
zhangxiaojiakele 2020-05-11
jzlixiao 2020-05-08
Series是一种类似于一维数组的对象,由一组数据以及一组与之对应的索引组成。 index: 索引序列,必须是唯一的,且与数据的长度相同. 如果没有传入索引参数,则默认会自动创建一个从0~N的整数索引
jzlixiao 2020-05-09
81510295 2020-11-17
listep 2020-09-11
Tristahong 2020-08-24
Johnson0 2020-07-28
santiago00 2020-07-11