pandas创建数据帧自动索引禁用

时间:2018-02-07 18:55:16

标签: python pandas dataframe indexing

有没有办法让大熊猫不按字符列索引?我的代码是

A=['a','b','c']
B=[1,2,3]
pd.DataFrame(A,B)
   0
1  a
2  b
3  c

我想要的只是两列,所以我可以通过A栏进行分组。我该怎么做呢?我可以做这样的事情,但我想跳过列名称以获得尽可能多的性能。

pd.DataFrame({'A':A,'B':B})
   A  B
0  a  1
1  b  2
2  c  3

1 个答案:

答案 0 :(得分:1)

如果您实际上只处理两列,则可以将一个系列分组。

In [6]: A = ['a', 'a', 'b', 'b', 'c', 'c']

In [7]: B = [1, 2, 3, 4, 5, 6]

In [8]: pd.Series(B).groupby(A).mean()
Out[8]: 
a    0.5
b    2.5
c    4.5
dtype: float64

我在下面提供了一些时间安排。

In [9]: %timeit pd.Series(B).groupby(A).mean()
1000 loops, best of 3: 1.07 ms per loop

In [10]: %timeit pd.DataFrame({'A': A, 'B': B}).groupby('A').mean()
100 loops, best of 3: 2.66 ms per loop

In [11]: %timeit pd.DataFrame(list(zip(A, B))).groupby(0).mean()
100 loops, best of 3: 2.38 ms per loop