我有一個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