列表理解中的双重条件

安德鲁

假设我正在处理一个熊猫数据框,例如df以下所示:

import pandas as pd 
df = pd.DataFrame([['A',3, 2000.0],
                   ['B',4, 4502.5],
                   ['C',5, 6250.0]],
                  columns=['Product', 'Number', 'Value'])
df

    Product     Number  Value
 0    A           3     2000.0
 1    B           4     4502.5
 2    C           5     6250.0

我可以使用f-string来添加列,例如:

df['Unit_value'] = [f'{x/3}' for x in df["Value"]]
df

由于只x涉及1个变量,因此运行良好:分母x/3为常数。我可以做一些等效的事情(使用f-string),但是y在分母中有一个变量yNumber对应于给定的Value吗?我想拥有的是:

    Product     Number  Value   Unit_Value
0      A          3     2000.0  666.66
1      B          4     4502.5  1125.63
2      C          5     6250.0  1250.00

哪里: 666.66=2000.0/3 , 1125.63=4502.5/4 , 1250.00=/5

我想到了类似的东西for x in df["Value"] and y in df["Number"]并尝试使用它,但是这种语法不起作用...

Ax319

您可以使用DataFrame.itertuples()

import pandas as pd 
df = pd.DataFrame([['A',3, 2000.0],
                   ['B',4, 4502.5],
                   ['C',5, 6250.0]],
                  columns=['Product', 'Number', 'Value'])
df['Unit_value'] = [tup.Value / tup.Number for tup in df.itertuples()]

print(df)

您还可以将纯Python方法与一起使用zip

import pandas as pd 
df = pd.DataFrame([['A',3, 2000.0],
                   ['B',4, 4502.5],
                   ['C',5, 6250.0]],
                  columns=['Product', 'Number', 'Value'])
df['Unit_value'] = [val / num for num, val in zip(df['Number'], df['Value'])]

print(df)

zip返回的可迭代,tuple然后可以将其解压缩为变量。

如果确实需要,可以使用f个字符串来执行此操作,但这将返回一个字符串并消除进行进一步计算的能力(或至少使其更加困难)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

或列表理解中的条件

来自分类Dev

或列表理解中的条件

来自分类Dev

如果列表理解中的列表元素的条件

来自分类Dev

Python列表理解中的附加条件

来自分类Dev

Coffeescript中的条件If-Else列表理解

来自分类Dev

Python中列表理解的多个条件

来自分类Dev

列表理解中的多个条件和结果?

来自分类Dev

如果条件与python中的列表理解

来自分类Dev

在python列表理解中评估True和False的条件条件?

来自分类Dev

使用条件与列表理解

来自分类Dev

普通话中的双重清单理解

来自分类Dev

是否可以限制Python中条件列表理解的长度?

来自分类Dev

如何在列表理解中包括计数条件?

来自分类Dev

是否可以添加函数以评估列表理解中的条件

来自分类Dev

列表理解内的条件中没有索引错误

来自分类Dev

Python-在列表理解中应用多个条件输出

来自分类Dev

条件列表理解的惯用方式

来自分类Dev

词典理解列表-多个条件

来自分类Dev

“如果”条件的“GROUPBY”,在列表理解

来自分类Dev

Python列表理解-条件for循环

来自分类Dev

列表理解,条件取决于生成的列表

来自分类Dev

如何在列表理解中有多个条件,其中条件在数组中

来自分类Dev

Swift中的列表理解

来自分类Dev

列表理解中的“ If ... or ...”语句?

来自分类Dev

在Ocaml中理解列表?

来自分类Dev

列表理解中的if语句

来自分类Dev

Swift中的列表理解

来自分类Dev

使用:在列表理解中

来自分类Dev

列表理解中的多个 if