对Pandas系列进行算术运算以创建新系列

时间:2019-10-11 13:58:42

标签: python pandas

说我有以下熊猫数据框

const withMutation = gql => C => props => {
   const [onSubmit, {data}] = useMutation (SIGNUP_GQL)
   return <C onSubmit={onSubmit} data={data} />
}

const Signup = ({onSubmit, data}) => (
  ...
)
export default withMutation (SIGNUP_GQL) (Signup)

使我具有以下数据框

import numpy as np
import pandas as pd

说我要修改列+----+-----------+----------+----------+----------+ | | a | b | c | d | |----+-----------+----------+----------+----------| | 0 | 0.462955 | 0.605148 | 0.481413 | 0.848894 | | 1 | 0.341476 | 0.611664 | 0.419806 | 0.6367 | | 2 | 0.0773736 | 0.795014 | 0.635595 | 0.154184 | +----+-----------+----------+----------+----------+ 使得d。 我可以使用d = a * b / cgroupby来获得以下内容

apply

这是我正在寻找的东西,因为它包含所需的值,但与所需的结果仍然相去甚远。

可以帮帮我吗?

编辑:该方法在我有很大过滤的情况下也应该可行。

1 个答案:

答案 0 :(得分:4)

您实际上并不需要groupby或任何函数(如果我不误会什么),只需定义即可:

df['d'] = df['a'] * df['b'] / df['c']

示例:

data = {'a':[0.462955,0.341476,0.0773736],'b':[0.605148,0.611664,0.795014],'c':[0.481413,0.419806,0.635595]}
df = pd.DataFrame(data)
df['d'] = df['a'] * df['b'] / df['c']
print(df)

输出:

          a         b         c         d
0  0.462955  0.605148  0.481413  0.581946
1  0.341476  0.611664  0.419806  0.497536
2  0.077374  0.795014  0.635595  0.096780
相关问题