有没有办法让大熊猫不按字符列索引?我的代码是
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
答案 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