【问题标题】:Adding a new column for Summation of values using Python使用 Python 为值的总和添加新列
【发布时间】:2021-07-27 15:29:02
【问题描述】:

我有一个数据框。此数据框有一个名为“距离”的列数据。我想创建一个标题为“KM”的新列。在顶部的“KM”列的每个单元格中都将遵循此公式。我希望重复此公式,直到列中的最后一个值。

=KM_i-1 + (0.001 *Ditance_i)

我正在寻找使用 Pandas 或 Numpy 的 Python 代码 我添加了 Excel 文件的屏幕截图以更好地显示:

只是想知道是否有人可以帮助用 Python 编写代码

KM=[]
for i in list(range(Toyota_Diesel.shape[0])):
 if i>0:
kilomtr=Toyota_Diesel.loc[i-1,'Distance']+Toyota_Diesel.loc[i,'Distance']
elif i==0:
 kilomtr=Toyota_Diesel['KM']=0

【问题讨论】:

  • 如果您向我们展示您已经完成的工作,我们可以帮助。否则我们只会为您做这件事,这不是 SO 的用途。您已经知道 Excel 的公式,请尝试用 Python 编写它。
  • 您是指公式中的KM[i] - 1 还是KM[i-1]
  • 公式中的KM[i-1]
  • 这是我开发的代码:
  • KM=[] for i in list(range(Toyota_Diesel.shape[0])): if i>0: #Toyota_Diesel.loc[i,'KM']=Toyota_Diesel.loc[i -1,'距离']+Toyota_Diesel.loc[i,'距离']公里=Toyota_Diesel.loc[i-1,'距离']+Toyota_Diesel.loc[i,'距离'] elif i==0:公里=Toyota_Diesel['KM']=0 KM.append(kilomtr) D=DataFrame(KM) Toyota_Diesel['KM']=KM print(Toyota_Diesel)

标签: python pandas dataframe numpy math


【解决方案1】:

看起来你只是想在距离列上做一个累积和,然后除以一个常数:

df['KM'] = df['Distance'].cumsum() * 0.001

【讨论】:

    猜你喜欢
    • 2017-04-05
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多