- 主题:自学渣想了好久搞不定,求问
最后一行代码,出错,找不到替代的方法
import numpy as np
import pandas as pd
#from pandas import DataFrame
#赋值“A”列:
df = pd.DataFrame(np.ones(100),columns=['A'])
#赋值“B”列:
df['B'] = pd.DataFrame(np.random.randint(0,15,100))
#打印两列
print(df[['A','B']])
#定义函数
def SUM(S, N): #对序列求N天累计和,返回序列 N=0返回零
return pd.Series(S).rolling(N).sum().values if N>0 else 0
#调试出错
df.loc[:,'C'] = SUM(df['A'],df['B'])
#SUM(S, N) 函数中,参数N,要求固定值,但我需要 N 依次取 'B'列所有100个数值,求实现,谢谢。
--
FROM 211.161.241.*
你这是希望N是int吧,那最后一行传的参数就不对呀
【 在 Tnnnnn 的大作中提到: 】
: 最后一行代码,出错,找不到替代的方法
: import numpy as np
: import pandas as pd
: ...................
--
FROM 61.149.74.61
B列里全是0-100随机数,应该都算是int吧?
我想把整个数列里的数据依次作为参数N,生成另一个数列
但总是报错。。。
【 在 annals 的大作中提到: 】
: 你这是希望N是int吧,那最后一行传的参数就不对呀
:
--
FROM 211.161.241.*
单就这个,试试类似于 df['A'] + df['B'] ?
【 在 Tnnnnn 的大作中提到: 】
: SUM(df['A'],df['B'])
: ...................
--
FROM 52.9.227.*
一个int,和一堆int构成的序列,那是两种东西
【 在 Tnnnnn 的大作中提到: 】
: B列里全是0-100随机数,应该都算是int吧?
: 我想把整个数列里的数据依次作为参数N,生成另一个数列
: 但总是报错。。。
: ...................
--
FROM 61.149.74.61
没看明白
【 在 hongyan2022 的大作中提到: 】
: 单就这个,试试类似于 df['A'] + df['B'] ?
--
FROM 211.161.241.*
这个能用for循环实现吗
【 在 annals 的大作中提到: 】
: 一个int,和一堆int构成的序列,那是两种东西
--
FROM 211.161.241.*
数列或矩阵 直接 + , 是相对位置的元素的 +
【 在 Tnnnnn 的大作中提到: 】
: 没看明白
--
FROM 52.9.227.*
我想要的是A往前N天的累计和,N的值取自对位。
不是两列的对位和。
【 在 hongyan2022 的大作中提到: 】
: 数列或矩阵 直接 + , 是相对位置的元素的 +
--
修改:Tnnnnn FROM 211.161.241.*
FROM 211.161.241.*
自己弄了个for循环
def DDDD(S):
for i in pd.Series(S):
return i
DDDD(df['B'])
返回的只是B列的第一个值,没有循环,也不知错在哪
【 在 Tnnnnn 的大作中提到: 】
: 这个能用for循环实现吗
--
FROM 211.161.241.*