示例代码1: import pandas as pdimport timeimport numpy as np test_lst = [['A', 0, 6], ['A', 1, 57], ['A', 2, 81], ['A', 3, 9], ['A', 4, 87],['B', 0, 24], ['B', 1, 30], ['B', 2, 96], ['B', 3, 54], ['B', 4, 81], ['C', 0, 6], ['C', 1, 6], ['C', 2, 6], ['C', 3, 93], ['C', 4, 99], ['D', 0, 0], ['D', 1, 90], ['D', 2, 6], ['D', 3, 87], ['D', 4, 75], ['E', 0, 93], ['E', 1, 60], ['E', 2, 63], ['E', 3, 48], ['E', 4, 36]]test_df1 = pd.DataFrame(test_lst, columns = ['Name', 'rating', 'num_items'])list(test_df1.groupby('Name')['rating'].nlargest(3).index) 以上代码运行结果:
示例代码2: test_df2 = pd.DataFrame(data=np.random.randint(0, 10, (3, 10)), columns=range(10), index=range(3)) %time np.array([test_df2[c].nlargest(3).index.values for c in test_df2]) 以上代码运行结果:
获取列表中前3个最大值/最小值import heapqtest_list = [1, 3, 2, 4, 5]nlargest_elements = (heapq.nlargest(3, range(len(test_list)), test_list.__getitem__)) # nsmallest 最小值函数print(nlargest_elements)print([a[x] for x in nlargest_elements]) 以上代码运行结果:
|
|