gpt4 book ai didi

python - 使用 Pandas 排序不会返回所需的输出

转载 作者:太空狗 更新时间:2023-10-30 02:56:12 24 4
gpt4 key购买 nike

假设对于网络 G,您有以下带(节点 ID、链接数)的字典,并说您想将其转储到 Pandas DataFrame:

import pandas as pd
import networkx as nx

degree=pd.DataFrame({'Node ID':G.degree().keys(),'Degree':G.degree().values()})
degree=degree[['Node ID','Degree']] #re-order

你得到这个:

In[1]: degree.head(5)
Out[1]:
Node ID Degree
0 0 19
1 1 117
2 2 13
3 3 56
4 4 15

现在假设你想根据 Degree 列对这个 DataFrame 进行降序排序。如果我这样做

sort_degree=degree.sort_values(['Node ID', 'Degree'], ascending=[False, False], inplace=False)

我没有得到我想要的:

    Node ID  Degree
4 4 15
3 3 56
2 2 13
1 1 117
0 0 19

怎么了?

最佳答案

在我看来你只需要按 Degree 列排序:

In [156]:
sort_df = df.sort_values('Degree', ascending=False)
sort_df

Out[156]:
Node ID Degree
1 1 117
3 3 56
0 0 19
4 4 15
2 2 13

当您传递多个列时,它将按照这些列的传递顺序对其进行排序,请参阅文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html#pandas.DataFrame.sort_values

关于python - 使用 Pandas 排序不会返回所需的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40158215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com