如何解决Python:是否有一个循环函数对此进行汇总?
我正在数据框中创建一个新列,称为第3列。此列需要从0开始,然后第3列应=第2列+第3列的前一个结果(上方)。 对于x = 1到x = 1000,代码需要类似于以下内容,但总结如下:
df.at[0,'column3']=0
x=1
df.at[x,'column3']=df.at[x,'column2'] + df.at[x-1,'column3']
x=2
df.at[x,'column3']
x=3
df.at[x,'column3']
........
x=1000
df.at[x,'column3']
当我分别输入以上内容时,它可以工作,但是当我尝试以下操作时:
for x in range(1,1000):
df.at[x,'column3']
它给我错误“只能将str(而不是“ numpy.int64”)连接到str”。数据框中的所有值都是数字(0-10),并且没有NaN值。
解决方法
import pandas as pd
df = pd.DataFrame({'column2' : list(range(1,1001))})
df['column3'] = df['column2']
df.loc[0,'column3'] = 0
df['column3'] = df['column3'].rolling(2,min_periods=1).sum()
df
在寻找这个吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。