【问题标题】:Add a column in a dataframe resulting from an operation between two columns在由两列之间的操作产生的数据框中添加一列
【发布时间】:2020-07-07 20:17:57
【问题描述】:

假设我有一个如下所示的 pandas 数据框:

      rate      amount            datetime
0      935  255.058618 2020-07-07 01:10:00
1      942  234.305349 2020-07-07 01:10:00
2      943  218.942727 2020-07-07 01:10:00
3      946  202.203811 2020-07-07 01:10:00
4      950  297.575301 2020-07-07 01:10:00
5      951  302.152497 2020-07-07 01:10:00

如何为每一行添加一个名为fraction 的列,其值为amount/rate?输出应该是这样的:

      rate      amount            datetime fraction
0      935  255.058618 2020-07-07 01:10:00 0.27
...

我尝试了以下方法,但当然没有用:

for x in MyData:
    x['fraction'] = x['amount']/x['rate']

有没有办法做到这一点,也许是列表理解?

【问题讨论】:

  • df['fraction'] = df['amount']/df['rate']
  • @pythonic833 你也可以解释为什么它可以正常工作。
  • 就像numpy数组一样,这只是一个元素一个元素的划分
  • 这能回答你的问题吗? How to divide two column in a dataframe

标签: python pandas


【解决方案1】:

TLDR;

MyData['fraction'] = MyData['amount']/MyData['rate']

长: 在 Pandas 中,大多数操作应该在整个数据集上完成,而不是逐行进行,而是完全不进行。您绝对应该避免遍历行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多