如何分组多列同时用值替换零(Pandas)?

rm5edbpk  于 2022-11-27  发布在  其他
关注(0)|答案(2)|浏览(103)

| 名称名称名称|猫|狗|青蛙|Pig|
| - -|- -|- -|- -|- -|
| 阿娜|第0页|一个|第0页|第0页|
| 阿娜|一个|第0页|一个|第0页|
| 名称名称名称|猫|狗|青蛙|Pig|
| - -|- -|- -|- -|- -|
| 阿娜|一个|一个|一个|第0页|
我想按名称对这两行进行分组,并在填充时将“零”替换为1。

iyr7buue

iyr7buue1#

groupbymax()一起使用

df = df.groupby('Name').max().reset_index()

输出:

> df

  Name  Cat  Dog  Frog  Pig
0  Ana    1    1     1    0
gkn4icbw

gkn4icbw2#

在这里你可能需要做的是一个聚合。获得你想要的输出的一个方法是使用Pandas Dataframe 方法grouby()sum()
我会这么做。

import pandas as pd

data = [
        ('Ana', 0, 1, 0, 0)
,       ('Ana', 1, 0, 1, 0)        
]

df = pd.DataFrame(data, columns=['Name', 'Cat', 'Dog', 'Frog', 'Pig'])

print(df.groupby(['Name']).sum())

输出将为:

Cat  Dog  Frog  Pig
Name
Ana     1    1     1    0

如果您想了解更多有关这些方法的信息,请访问以下链接:

分组依据():https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html
求和():https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sum.html

相关问题