熊猫指数

时间:2016-06-20 12:30:40

标签: python datetime pandas dataframe

我使用pandas索引iat,但我发现错误

  

TypeError:调用()需要1到2个位置参数,但是给出了3个。

我的代码是:

df['xyz'] = df.index ,date_format = "%m/%d/%Y" ,x=len(df.index),start = df.iat(1,2) ,end = df.iat(x,2),df.drop('xyz'),print(start) ,
print(end) ,x = int(datetime.strftime(df.max(axis=0),date_format)-datetime.strftime(df.min(axis=0),date_format)) and print(df) gives this value 
               incoming  xyz
2015-09-03      1061 2015-09-03
2015-09-04      1193 2015-09-04
2015-09-05       618 2015-09-05
2015-09-07      1246 2015-09-07
2015-09-08      1054 2015-09-08
2015-09-09      1030 2015-09-09 etc

但我在start line = df.iat(1,2)中发现错误。

  

TypeError:调用()需要1到2个位置参数,但是3   给了

1 个答案:

答案 0 :(得分:2)

我认为您需要向iat添加[],而不是()

df.iat[1,2]

同时将[1,2]更改为[1,1],因为0只有2列和python计数。

你需要的IIUC:

print (df)
            incoming
2015-09-03      1061
2015-09-04      1193
2015-09-05       618
2015-09-07      1246
2015-09-08      1054
2015-09-09      1030

df.index = pd.DatetimeIndex(df.index)
start = df.index[0]
end = df.index[-1]

print(start)
2015-09-03 00:00:00
print(end)
2015-09-09 00:00:00

x = end - start
print (x)
6 days 00:00:00
x = int(x / np.timedelta64(1, 'D'))
print (x)
6