为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫:如何对单个列使用apply()函数?

熊猫:如何对单个列使用apply()函数?

长风秋雁 2019-12-13 09:10:56
我有两列的熊猫数据框。我需要在不影响第二列的情况下更改第一列的值,并仅更改第一列的值来获取整个数据帧。如何使用大熊猫应用程序?
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

给定一个示例数据框df为:


a,b

1,2

2,3

3,4

4,5

您想要的是:


df['a'] = df['a'].apply(lambda x: x + 1)

返回:


   a  b

0  2  2

1  3  3

2  4  4

3  5  5


查看完整回答
反对 回复 2019-12-13
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

对于更好使用的单列map(),像这样:


df = pd.DataFrame([{'a': 15, 'b': 15, 'c': 5}, {'a': 20, 'b': 10, 'c': 7}, {'a': 25, 'b': 30, 'c': 9}])


    a   b  c

0  15  15  5

1  20  10  7

2  25  30  9




df['a'] = df['a'].map(lambda a: a / 2.)


      a   b  c

0   7.5  15  5

1  10.0  10  7

2  12.5  30  9


查看完整回答
反对 回复 2019-12-13
?
千巷猫影

TA贡献1829条经验 获得超7个赞

您根本不需要功能。您可以直接处理整个列。


示例数据:


>>> df = pd.DataFrame({'a': [100, 1000], 'b': [200, 2000], 'c': [300, 3000]})

>>> df


      a     b     c

0   100   200   300

1  1000  2000  3000

列中所有值的一半a:


>>> df.a = df.a / 2

>>> df


     a     b     c

0   50   200   300

1  500  2000  3000


查看完整回答
反对 回复 2019-12-13
  • 3 回答
  • 0 关注
  • 488 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号