为什么这个代码在pandas.13版本中不起作用?这是一个错误还是我需要做不同的事情
previous=0
for i, r in df.iterrows():
if i in df.index[df.groupby(['case']).apply(lambda x: x['change'].idxmin())]:
print 'anything'
我找不到任何说明原因的文件
用于测试
import pandas as pd
import datetime as DT
d = {'case' : pd.Series([1,1,1,1,2]),
'open' : pd.Series([DT.datetime(2014, 3, 2), DT.datetime(2014, 3, 2),DT.datetime(2014, 3, 2),DT.datetime(2014, 3, 2),DT.datetime(2014, 3, 2)]),
'change' : pd.Series([DT.datetime(2014, 3, 8), DT.datetime(2014, 4, 8),DT.datetime(2014, 5, 8),DT.datetime(2014, 6, 8),DT.datetime(2014, 6, 8)]),
'StartEvent' : pd.Series(['Homeless','Homeless','Homeless','Homeless','Jail']),
'ChangeEvent' : pd.Series(['Homeless','irrelivant','Homeless','Jail','Jail']),
'close' : pd.Series([DT.datetime(2015, 3, 2), DT.datetime(2015, 3, 2),DT.datetime(2015, 3, 2),DT.datetime(2015, 3, 2),DT.datetime(2015, 3, 2)])}
df=pd.DataFrame(d)
这样做很奇怪,你认为结果会怎样
如果真的要这样做,请使用值。序列不是
df.index
的有效索引器(只有数组是有效的)。这在0.12中“起作用”,但碰巧依赖于一个事实,即一个系列是一个ndarray子类相关问题 更多 >
编程相关推荐