gpt4 book ai didi

python Pandas - AttributeError : 'Series' object has no attribute 'columns' ?

转载 作者:太空狗 更新时间:2023-10-30 02:56:08 26 4
gpt4 key购买 nike

我正在尝试计算特定列“df1”的当前行值落在前 5 行(2 并排列)中的低-高范围值之间的次数。这是一个后续问题 - Dickster 已经完成了繁重的工作 here .

Series().between() 方法不合作,提示 AttributeError: 'Series' object has no attribute 'columns'。我不明白我是如何涉及 columns 属性的。

list1 = [[21,101],[22,110],[25,113],[24,112],[21,109],[28,108],[30,102],[26,106],[25,111],[24,110]]
dict1 = {}
dict1['df1'] = pd.DataFrame(list1,index=pd.date_range('2000-1-1',periods=10, freq='D'), columns=list('AB'))
dict1['df2'] = pd.DataFrame(dict1['df1'] * (1-.05))
pan_so = pd.Panel(dict1)
pan_so = pan_so.transpose(2,1,0)

x = pan_so.ix[0,:,:]
def btwn(x): # x is a dataframe
y = x['df1'].rolling(center=False,window=6)
z = x['df2'].rolling(center=False,window=6)
x['cnt_btwn'] = pd.Series(pd.Series(y[:-1]).between(z[-1], y[-1], inclusive=True).sum())
return x
btwn(x)

我做错了什么?谢谢!

最佳答案

y[:-1] 访问不支持列索引的 Rolling 对象,这就是 [:- 1] 在你的代码中。您应该在过滤之前应用一个转换函数并获得一个实际的系列。

关于 python Pandas - AttributeError : 'Series' object has no attribute 'columns' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40366120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com