Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建数据帧自动索引禁用_Python_Pandas_Dataframe_Indexing - Fatal编程技术网

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

Python 创建数据帧自动索引禁用,python,pandas,dataframe,indexing,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 如果您实际上只处理两个列,则可以将一个系列逐个分组 In [6]: A = ['a',

有没有办法告诉熊猫不要按字符列进行索引?我的代码是

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

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

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

df=pd.DataFrame([A,B]).T
应该会给你想要的东西。
pd.DataFrame(list(zip(A,B))
两者都可以。但是,当我尝试按0分组时,会出现一个错误,如pd.DataFrame([A,B]).T.groupby(0.mean()。我认为当它被转置时,它正在丢失类型。当你说,“所以我可以做groupby列A”,你是什么意思?您想要的输出是什么样的?'pd.DataFrame(list(zip(A,B))).groupby(0,as_index=False).mean()?