我有一个带索引(日期)和两列(A和B)的DataFrame。这些列的DataFrame类型为float64。
我正在使用for循环进行一些计算。我想将结果x1和x2分别添加到新列Alpha和Beta中。
我尝试使用以下行来识别数据类型
a = int(input("Type the value of a: "))
b = int(input("Type the value of b: "))
c = int(input("Type the value of c: "))
在...之后查看我的数据类型
print (df.dtypes)
我的代码是:
df.at[Rw+1,'Alpha']=x1
我收到一个错误:
for Rw in range(25):
def adj(df):
R=float(df.iloc[Rw,1])
V=float(df.iloc[Rw+1,1])
if R>=V:
x1=R-V
else:
x2=(V-R)**3
df.at[Rw+1,'Alpha']=x1
print (df.dtypes)
df.at[Rw+1,'Beta']=x2
adj(df)
恐怕循环中带有.at [_]的行不能表示float64类型。
如何确定或如何更改为float64或如何将这些“ Alpha”和“ Beta”添加到DataFrame? ...我正在使用python27。
答案 0 :(得分:1)
尝试更改行:
df.at[Rw+1,'Alpha']=x1
df.at[Rw+1,'Beta']=x2
至:
df.ix[Rw+1,'Alpha']=x1
df.ix[Rw+1,'Beta']=x2