Pandas groupby、contains和sum

2024-09-27 19:24:41 发布

您现在位置:Python中文网/ 问答频道 /正文

                             BUILDING                 UNITS
0                      01 ONE FAMILY DWELLINGS        168.0
1                      02 TWO FAMILY DWELLINGS        269.0
2                    03 THREE FAMILY DWELLINGS        234.0
3                        04 TAX CLASS 1 CONDOS          0.0
4                       06 TAX CLASS 1 - OTHER          0.0
5               07 RENTALS - WALKUP APARTMENTS      10232.0
6             08 RENTALS - ELEVATOR APARTMENTS      15136.0
7                 09 COOPS - WALKUP APARTMENTS          0.0
8               10 COOPS - ELEVATOR APARTMENTS          0.0
9                            11A CONDO-RENTALS          0.0
10               12 CONDOS - WALKUP APARTMENTS          0.0
11             13 CONDOS - ELEVATOR APARTMENTS          0.0
12                      14 RENTALS - 4-10 UNIT        534.0
13           15 CONDOS - 2-10 UNIT RESIDENTIAL          0.0

我希望能够对包含字符串的内容进行分组。例如,在这里,我想把所有的公寓都归为一个类别,每个类别有一个单元的总和,同样的,租金也会归为租金。剩下的不属于任何相关类别的将被归类为其他类别。你知道吗

我知道这会选择那些包含公寓的,但是你如何将它们分组,并将它们的单位作为一个类别求和?你知道吗

df[df['BUILDING'].str.contains("CONDO")]

我在找这样的东西:

Building Units
Other      #
Condos     #sum condos
Rentals    #sum rentals

Tags: unit类别familyclasstax公寓buildingelevator
1条回答
网友
1楼 · 发布于 2024-09-27 19:24:41

使用^{}为建筑单元创建标记,并将其用于groupby操作

df["BUILDING UNITS"] = np.select(
    condlist=[
        df["BUILDING"].str.contains("CONDO"),
        df["BUILDING"].str.contains("DWELLINGS"),
    ],
    choicelist=[
        "Condos", "Rentals"
    ],
    default="Other"
)

df.groupby("BUILDING UNITS").sum()

                  UNITS
BUILDING UNITS
Condos              0.0
Other           25902.0
Rentals           671.0

相关问题 更多 >

    热门问题