【问题标题】:Pandas design a function [duplicate]熊猫设计一个功能[重复]
【发布时间】:2020-08-25 11:27:17
【问题描述】:

我从 csv 读取了 pandas DataFrame。

 import pandas as pd
 df = pd.read_csv("record.csv")

 df # data contain in csv 

 provinces  month  total number 
 BC         1      20
 Ontrio     1      10
 Ontrio     2      3
 BC         2      15
 Yukon      2      33
 Nunavut    3      17
 BC         3      6
 Yukon      3      3

我想得到的是每个月总数最多的前2个省份:

 provinces  month  total number 
 BC         1      20
 Ontrio     1      10
 BC         2      15
 Yukon      2      33
 Nunavut    3      17
 BC         3      6

我可以使用 pandas 查询来完成,但我如何设计一个函数来实现结果?

【问题讨论】:

标签: python pandas dataframe jupyter


【解决方案1】:
df =pd.DataFrame({
    'prov':['BC','Ont','Ont','BC','Yu','Nun','BC','Yu'],
    'month':[1,1,2,2,2,3,3,3],
    'total_no':[20,10,3,15,33,17,6,3]
})


df=df.sort_values(by=['month','total_no'],ascending=False)

df=df.groupby('month').head(2)
print(df)


    prov  month  total_no
5  Nun      3        17
6   BC      3         6
4   Yu      2        33
3   BC      2        15
0   BC      1        20
1  Ont      1        10

【讨论】:

    猜你喜欢
    • 2017-04-28
    • 2023-03-29
    • 1970-01-01
    • 2016-09-21
    • 2019-10-14
    • 2015-05-21
    • 2021-12-26
    相关资源
    最近更新 更多