gpt4 book ai didi

python - 使用 python pandas 将字符串数据汇总为百分比

转载 作者:行者123 更新时间:2023-12-04 10:21:16 24 4
gpt4 key购买 nike

鉴于以下数据:

x = "foo"
y = "bar"
z = "baz"
t1 = "fior"
t2 = "ropir"

d1 = pd.DataFrame(dict(type=[t1] * 4 + [t2] * 4, response=[x, y, x, x, x, z, z, z],))

看起来像
    type response
0 fior foo
1 fior bar
2 fior foo
3 fior foo
4 ropir foo
5 ropir baz
6 ropir baz
7 ropir baz

如何概括为

d2 = pd.DataFrame(
dict(
type=[t1] * 3 + [t2] * 3,
response=[x, y, z] * 2,
percentage=[0.75, 0.25, 0, 0.25, 0, 0.75],
)
)

这是作为
    type response  percentage
0 fior foo 0.75
1 fior bar 0.25
2 fior baz 0.00
3 ropir foo 0.25
4 ropir bar 0.00
5 ropir baz 0.75

最佳答案

你可以使用 groupby并归一化 value_counts ,然后 rename系列, reindex 使用 MultiIndex.from_product 创建的所有可能的情侣类型响应来自 unique每列中的值然后最后 reset_index .

d1.groupby('type')['response'].value_counts(normalize=True)\
.rename('percentage')\
.reindex(pd.MultiIndex.from_product([d1['type'].unique(), d1['response'].unique()],
names=['type','response']),
fill_value=0)\
.reset_index()

type response percentage
0 fior foo 0.75
1 fior bar 0.25
2 fior baz 0.00
3 ropir foo 0.25
4 ropir bar 0.00
5 ropir baz 0.75

关于python - 使用 python pandas 将字符串数据汇总为百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60838007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com