【发布时间】: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