首页 > 解决方案 > 从多索引数据框中的列中读取第一个和最后一个值

问题描述

我正在寻找一种方法来查找具有多索引的数据框中特定列的值。

它看起来与此相似;

                                           A  ...            Id
UniqueKey                                     ...              
ffffffffffff_20190603-104838.json 0      NaN  ...  ffffffffffff
                                  1      NaN  ...  ffffffffffff
                                  2      NaN  ...  ffffffffffff
                                  3      NaN  ...  ffffffffffff
                                  4      NaN  ...  ffffffffffff

在这个数据框中,我有一个带有 unix 时间的列,我将把它转换为一个字符串,所以我想我可以写这样的东西:

其中,名称等于数据框中的唯一键之一

datetime.utcfromtimestamp(int(df.iloc[df.index.get_level_values('UniqueKey') == name].at[0, 'epochTime'])).strftime('%Y-%m-%d %H:%M:%S')

我希望数据框中的每个 UniqueKey 获取列“epochTime”的第一个和最后一个值

标签: pythonpandasdataframe

解决方案


IIUC,你可以这样做:

df.groupby('UniqueKey')['epochTime'].agg({'first', 'last'})

推荐阅读