如何根据另一列中的值减去一列中的值

时间:2019-05-09 20:01:44

标签: pandas

我正在尝试操纵具有两列TypeValue的pandas DataFrame:

type    value
-------------
  1     100
  2       1
  3       1
  4       1
  1     300
  2       1
  3       1  
  4       1
  1     500
  2       1
  3       1
  4     700

我想创建一个新列,差异,它是从上一个值中减去该值的乘积,仅适用于类型==1。(所以300-100、500-300、700-500)< / p>

一种选择是将选定的天体适应新的df

new = df[df['type'].isin(['1'])]

进行减法,然后再次加入dfs。但是有没有一种更好的方法可以不必迁移到新的df?

1 个答案:

答案 0 :(得分:0)

尝试:

return (
                <CPContext.Consumer>
                  {context => (
                    <Paper className={classes.root}>
                    <Table className={classes.table}>
                      <TableHead>
                        <TableRow>
                          <CustomTableCell>id</CustomTableCell>
                          <CustomTableCell align="right">name</CustomTableCell>
                        </TableRow>
                      </TableHead>
                      <TableBody>
                      {Object.entries(context.data).map(v => (
                        <TableRow className={classes.row} >
                          <CustomTableCell component="th" scope="row">
                          {v[1].id}
                          </CustomTableCell>
                          <CustomTableCell align="right">{v[1].name}</CustomTableCell>

                         </TableRow>
                      ))}
                         </TableBody>
                    </Table>
                  </Paper> 
                  )}
            </CoinContext.Consumer>
        )

输出:

df['newcol'] = df.loc[df['type'] == 1, 'value'].diff()
相关问题