首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查一列中的值,取相邻的值并应用函数

检查一列中的值,取相邻的值并应用函数
EN

Stack Overflow用户
提问于 2020-01-30 19:35:33
回答 2查看 54关注 0票数 0

我有以下几点:

代码语言:javascript
复制
df1=pd.DataFrame([[1,10],[2,15],[3,16]], columns=["a","b"])

结果是:

代码语言:javascript
复制
    a   b
0   1   10
1   2   15
2   3   16

我想要创建第三列"c“,其中每行中的值是列"b”中值的乘积,由同一行乘以一个数字,这取决于列"a“中的值。所以,例如

如果a中的值是1乘10×2,

如果a中的值为2乘15x5,

如果"a“中的值为3乘16x10。

实际上,我希望做到这一点:

代码语言:javascript
复制
    a   b   c
0   1   10  20
1   2   15  75
2   3   16  160

我用if和elif做了一些尝试,但是没有找到正确的解决方案。数据格式很长,列"a“中的数字1、2、3以随机顺序出现。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-30 20:17:44

你在找这样的东西吗,我已经扩展了你的数据,请检查它是否有帮助

代码语言:javascript
复制
df1=pd.DataFrame([[1,10],[2,15],[3,16],[3,11],[2,12],[1,16]], columns=["a","b"])
dict_prod = {1:2, 2:5, 3:10}
df1['c'] = df1['a'].map(dict_prod)*df1['b']




   a   b    c
0  1  10   20
1  2  15   75
2  3  16  160
3  3  11  110
4  2  12   60
5  1  16   32
票数 1
EN

Stack Overflow用户

发布于 2020-01-30 19:40:23

你应该能做到

代码语言:javascript
复制
df1['c'] = df['a']*your_number * df['b']

代码语言:javascript
复制
df1['c'] = some_function(df['a']) * df['b']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59993309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档