我使用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 给了
答案 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