dataframe更新增加某一列值,apply方法

原始方法:生成ndarray,插入,删除原来的那列,把插入的列更名

two = np.zeros(`len(df_data))# 生成一个ndarray,装要插入的值
for i in range(len(df_data)):# 按条件修改two
    two[i] = df_data["pe_ttm"][i]["weightedAvg"]
f_data.insert(1, 'pe_ttm1', two)# 完成后将two插入dataframe中,1表示插入到第二个
del df_data['pe_ttm']
df_data.rename(columns={"pe_ttm1":"pe_ttm"}, inplace=True)
#这么多行等于一行

新方法dataframe的apply,当一个函数的参数存在于一个元组或者一个字典中时,用来间接的调用这个函数
中间写一个函数(或者匿名函数)

例子一:不管你是传进来第几行的数据(x的值),我都变成1

df_data["pe_ttm"]=df_data["pe_ttm"].apply(lambda x: 1)

例子二:
#数据清洗,将原来的那列的{‘weightedAvg’: 25.4987080756439}取其中的float

pe_ttm
{'weightedAvg': 21.4987080756439}
{'weightedAvg': 22.4987080756439}
{'weightedAvg': 23.4987080756439}

更新列:pe_ttm

df_data["pe_ttm"] = df_data["pe_ttm"].apply(lambda x: float(str(x)[16:-1]))
增加列:hello
df_data["hello"] = df_data["pe_ttm"].apply(lambda x: float(str(x)[16:-1]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值