我有一个ID,名称,日期时间和值的数据框。当我使用此DF的dtypes时,我得到根据时间变量对分组数据帧进行排序colum
ID - int64
time - object
value - int
我想按ID对数据帧进行分组,然后按时间顺序对行进行排序。我尝试以下,
df['time'] = pd.to_datetime(df['time'])
p= df.groupby(['ID'])
然后我尝试,
p.sort_values(['time'])
但得到一个错误,
AttributeError: Cannot access callable attribute 'sort_values' of 'DataFrameGroupBy' objects, try using the 'apply' method
所以后来我试过了,
p['time'].apply(lambda x: x.sort_values())
,这似乎只为该专栏工作。我无法对所有列进行排序。我想在分组ID后根据时间变量对整个数据帧进行排序。我知道这可能很容易。但一直在尝试它很长一段时间没有任何结果。有人能帮我做这件事吗?
@jezrael这是一个ID作为单行和行数以前的列数和丢失所有其他列。这是不正确的。 – Observer
嗯,你是对的。 (''ID'])。apply(lambda x:x ['time']。sort_values())。reset_index() ' – jezrael