栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python Pandas:基于其他列添加列

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python Pandas:基于其他列添加列

您可以

assign
-从
doc
以下位置取样:

import pandas as pdimport numpy as npdf = pd.Dataframe({'A': range(1, 11), 'B': np.random.randn(10)})print df    A         B0   1  0.7690281   2 -0.3924712   3  0.1530513   4 -0.3798484   5 -0.6654265   6  0.8806846   7  1.1263817   8 -0.5598288   9  0.8629359  10 -0.909402df = df.assign(ln_A = lambda x: np.log(x.A))print df    A         B      ln_A0   1  0.769028  0.0000001   2 -0.392471  0.6931472   3  0.153051  1.0986123   4 -0.379848  1.3862944   5 -0.665426  1.6094385   6  0.880684  1.7917596   7  1.126381  1.9459107   8 -0.559828  2.0794428   9  0.862935  2.1972259  10 -0.909402  2.302585

还是

apply
如陆奇所说。

有时

lambda
功能会有所帮助:

import pandas as pdimport numpy as npdf = pd.Dataframe({'A': range(1, 11), 'B': np.random.randn(10)})df['ln_A'] = df['A'].apply(np.log)df['round'] = df['B'].apply(lambda x: np.round(x, 2))print df    A         B      ln_A  round0   1 -0.982828  0.000000  -0.981   2  2.306111  0.693147   2.312   3  0.967858  1.098612   0.973   4 -0.286280  1.386294  -0.294   5 -2.026937  1.609438  -2.035   6  0.061735  1.791759   0.066   7 -0.506620  1.945910  -0.517   8 -0.309438  2.079442  -0.318   9 -1.261842  2.197225  -1.269  10  1.079921  2.302585   1.08


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400157.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号