gpt4 book ai didi

python - 将一个数据框分离到另一个数据框

转载 作者:太空宇宙 更新时间:2023-11-04 00:10:10 25 4
gpt4 key购买 nike

我对 Python 有点陌生。我发现很难解决这个问题。我有一个数据框如下-

df:

Date    Name    Value   Outcome
1-Mar xyz 20 1
1-Mar xyz 50 1
1-Mar xyz 60 0
1-Mar abc1 30 0
1-Mar abc1 70 1
1-Mar abc1 10 1
1-Mar abc1 11 0
1-Mar rbc 56 0
2-Mar xyz 14 1
2-Mar xyz 50 1
2-Mar xyz 60 1
2-Mar abc1 9 0
2-Mar abc1 70 1
2-Mar abc1 10 0
2-Mar abc1 11 0
2-Mar rbc 30 0

我们必须按日期分组并检查给定类别的名称 - 它的最小值。

预期结果-

df1:

Date    xyz abc1    rbc    Y
1-Mar 20 10 56 2/3=0.66
2-Mar 14 9 30 1/3=0.33

此处名称的每个值都填充了该给定日期的最小值。

这里的Y值计算如下-

       xyz  abc1    rbc
1-Mar 1 1 0
2-Mar 1 0 0

这些二进制值取自 df 的 Outcome 列。

请注意,Name 列有多个值,我只是粘贴了一些。

提前感谢您的帮助。真的很感激。

最佳答案

尝试:

s = df.groupby(['Name','Date'], as_index=False)['Value'].min()
df1 = s.pivot(index='Date', columns='Name')
df1.columns = df1.columns.droplevel(0)

df1['Y'] = df.merge(s).pivot('Date','Name','Outcome').apply(lambda x: x.sum()/ len(x),1)

print (df1)

输出:

Name    abc1  rbc   xyz     Y
Date
1-Mar 10 56 20 0.666667
2-Mar 9 30 14 0.333333

关于python - 将一个数据框分离到另一个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52793672/

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