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
最佳答案
使用numpy.select
为构建单元创建标记,并将其用于 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
关于python - Pandas groupby,包含和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58400294/