我正在Pandas中生成很多相关数据。它们都有相同的形状和格式。所以这是数据A:-
free_memory memory_in_use active_memory
free_memory 1 0.190912742 0.375301656
memory_in_use 0.190912742 1 0.962653384
active_memory 0.375301656 0.962653384 1这是dataframe
free_memory memory_in_use active_memory
free_memory 1 0.673434243 0.712713697
memory_in_use 0.673434243 1 0.991687459
active_memory 0.712713697 0.991687459 1当我得到一个数据C,使得它的所有单元格都是A和B中对应单元的平均值时,Pandas就混合了行的顺序。例如,结果C如下所示:
free memory memory in use active memory
active memory 0.296996 0.960049 1.000000
free memory 1.000000 0.520667 0.296996
memory in use 0.520667 1.000000 0.960049正如您所看到的,列顺序是保留的,但是行顺序是无效的,我没有得到漂亮的对角线1。我如何保持与输入数据格式相同的顺序?有关的守则是:-
df_concat.groupby(df_concat.index).mean()发布于 2016-02-19 17:41:31
您可以向函数sort=False添加参数groupby。
print df_concat.groupby(df_concat.index, sort=False).mean()
free_memory memory_in_use active_memory
free_memory 1.000000 0.190913 0.375302
memory_in_use 0.190913 1.000000 0.962653
active_memory 0.375302 0.962653 1.000000文档
排序:布尔值,默认真 对组键排序。通过关闭这个来获得更好的性能。注意,这并不影响每一组中观察的顺序。groupby保留每个组中行的顺序。
https://stackoverflow.com/questions/35511350
复制相似问题