楼主: jzplarry
1366 3

[问答] 请问各位大侠,pandas 如何根据 dataframe中的其他列还确定本列的操作? [推广有奖]

  • 0关注
  • 2粉丝

学科带头人

16%

还不是VIP/贵宾

-

威望
0
论坛币
1963 个
通用积分
27.4974
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
27222 点
帖子
2405
精华
0
在线时间
1175 小时
注册时间
2006-8-2
最后登录
2024-3-10

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大侠!dataframe中可有什么办法,根据其他列情况(如大于10还是小于10),来确定本列是否添加一个字符串后缀?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Dataframe 请问各位大侠 pandas panda Frame

沙发
67890 发表于 2017-3-13 00:55:02 |只看作者 |坛友微信交流群
something like:
s['name'].str += 'abc' if s['number'] >= 10
?

使用道具

藤椅
longgb246 学生认证  发表于 2017-3-15 00:15:10 |只看作者 |坛友微信交流群
s['b'] = map(lambda x: 'aa_'+ str(x[1]) if x[0] > 10 else str(x[1]), s.loc[:,['a','b']].values)。
上面代码意思为:如果s的a列>10,则b列加上前缀'aa_'。只用替换s、a、b就可以直接完成功能。lambda函数你改改成你想用的就行。

使用道具

板凳
longgb246 学生认证  发表于 2017-3-15 01:10:40 |只看作者 |坛友微信交流群
a['b'] = map(lambda x: 'aa'+ str(x[1]) if x[0] > 10 else str(x[1]), a.loc[:,['a','b']].values)
代码的意思是:对于dataframe:a,当'a'列大于10的时候,'b'列增加前缀'aa'。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 09:31