python - 根据条件将数据帧的值移动到列表

标签 python list pandas numpy conditional-statements

我正在尝试将数据从数据框中的单个列移动到列表。

Account Name    Renewal % Change
Client 1        0%
Client 2        0%
Client 3        2%
Client 4        0%
Client 5        1%
Client 6        1%

因此,如果客户有 0%,则应将其添加到 Cost0 列表中,如果客户有 1%,则应将其添加到 Cost1 中。

我尝试使用 pd.series.tolist() 但它一直给我一个错误。

if brl['Renewal % Change'] == '0%':
    a = pd.Series(brl['Account Name'])
    a.tolist()

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

请指教

最佳答案

试试这个

Cost0 = brl[blr['Renewal % Change']=='0%']['Account Name'].tolist()
Cost1 = brl[blr['Renewal % Change']=='1%']['Account Name'].tolist()

更新

使用.loc

Cost0 = brl.loc[blr['Renewal % Change']=='0%','Account Name'].tolist()
Cost1 = brl.loc[blr['Renewal % Change']=='1%','Account Name'].tolist()

关于python - 根据条件将数据帧的值移动到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40839984/

相关文章:

list - Haskell 的 head tail init 和 last 在 GHCi

css - 使用 CSS 实现无序列表中的文本缩进

python - 在 Python Pandas DataFrame 或 Jupyter Notebooks 中包装列名

python - 用新的 Dataframe 替换一行

python - 根据回合时间选择 Pandas 数据框行

Python - 在用户输入上方有一个变化的 ASCII 图像

python - 在 Pandas/Python 中使用可变大小的行更新数据框

python - 在 Pandas DataFrame 上更快地 rolling_apply?

python - 获取与两个 fastq 文件不同的记录

python - 列表推导式中表达式的执行顺序