pandas 循环遍历Df并将结果合并到特定行

6kkfgxo0  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(167)

我有一个Pandas数据框,计数为:

target.value_counts()

Grade
AA III    147
CD IV     143
DA II     134
BB I        4
dtype: int64

我想把BBDA连接起来,这样DA的计数就变成138,如下所示:

target.value_counts()

Grade
AA III    147
CD IV     143
DA II     138

我试着这么做:

for i in ["AA I", "CD II", "DA III", "BB IV"]:
    if i == "AA I":
        target["Grade"] = target["Grade"].str.replace(i, "Grade II ")

我想我可以做replace,然后看看我如何可以合并行,但输出不会解决问题。
关于如何实现这一目标,有什么更好的建议吗?

vlju58qv

vlju58qv1#

正在使用您在调用target.value_counts()后提供的数据...

设置

from itertools import repeat

import numpy as np
import pandas as pd

# make data
target = pd.DataFrame(
    data={"Grade": [*repeat("AA II", 147),
                    *repeat("CD IV", 143),
                    *repeat("DA II", 134),
                    *repeat("BB I", 4),]}
)

print(target.value_counts())
Grade
AA II    147
CD IV    143
DA II    134
BB I       4
dtype: int64

选项1

一个二个一个一个

选项2

# create new column ("replaced") that replaces "BB I" with "DA II"
target["replaced"] = target.Grade.replace("BB I", "DA II")

out = target[["replaced"]].value_counts()

print(out)
replaced
AA II       147
CD IV       143
DA II       138
dtype: int64

参考文献

相关问题