组织Pandas数据框信息的最有效方法

时间:2014-12-09 06:48:23

标签: python pandas

我想要存储在pandas数据帧上的数据结构可以表示如下:

        F1    F2     F3 . . . .

a
b
c
t1
t2
.
.
t18000
x1
x2
.
.
x18000
y
z

当我想要显示行只是为了深入了解数据帧包含的信息时,我不想看到18000个或x个变量。相反,我想要像:[a,b,c,t,x,y,z]

我对Pandas模块并不是很熟悉,所以我的问题是如何存储信息以达到我上面所说的行名称?更具体地说:

  • 我应该将t和x值作为数组存储在一个单元格中吗?

                 F1                F2        ...
    a
    b
    c
    t [t1 t2 .. t18000]
    x [x1 x2 .. x18000]
    y
    z                                                    
    
  • 或者是否有一种固有的方法可以将同一行名称的多个索引可视化为pandas中的一个?

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。您可以使用Multiindex,它可以创建分层索引。例如:

df = pd.DataFrame({'F1': range(4)}, index=[['x', 'x', 'y', 'y'], ['x1', 'x2', 'y1', 'y2']])

将为您提供类似以下的DataFrame:

        F1
x   x1  0
    x2  1
y   y1  2
    y2  3

您可以简单groupby级别,例如总之,df.groupby(level=0).sum()

或者,如果您不想拥有索引,则只需使用groupby中的函数即可。例如,按索引中的第一个字符分组:

df = pd.DataFrame({'F1': range(4)}, index=['x1', 'x2', 'y1', 'y2'])
df.groupby(lambda index: index[0]).sum()