我有一个数据框,其中天数作为索引,类别作为列,每个元素是一组与每一天相对应的项目。
我读到"将列表保留在一个框架中,虽然允许,但它根本没有效率":corresponding pandas-dev issue
我需要能够构建这些列表的列式联合和交叉点,并在查询中使用它们。
您认为什么是有效的替代方案?
答案 0 :(得分:1)
我猜您的数据看起来像这样
如果您只是将数据融合到一天中代表单个项目类别的每一行,那么您可以将它用于任何类型的联合或交集 -
df1 = pd.melt(df, id_vars = 'Days', var_name = 'Category')
df1 = df1.set_index(['Days', 'Category'])['value'].apply(pd.Series).stack().reset_index().drop('level_2', axis=1)
df1.columns = ['Days', 'Category', 'Item']
上面的代码会将数据转换为 -
现在可以轻松用于任何类型的操作