首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python-多索引分组百分比

python-多索引分组百分比
EN

Stack Overflow用户
提问于 2020-07-10 05:07:15
回答 1查看 37关注 0票数 0

我一直试图给你一个可重现的例子,但是Period不允许我把字典作为数据帧来读。因此,我只是将我的数据帧转换为字典并复制到这里(如果您可以告诉我如何使其可重现,我将编辑这篇文章)。dataframe是一个序列(一列)和两个索引:

代码语言:javascript
运行
复制
{(Period('2020-01', 'M'), False): 213,
 (Period('2020-01', 'M'), True): 21,
 (Period('2020-02', 'M'), False): 313,
 (Period('2020-02', 'M'), True): 13,
 (Period('2020-03', 'M'), False): 213,
 (Period('2020-03', 'M'), True): 23,
 (Period('2020-04', 'M'), False): 213,
 (Period('2020-04', 'M'), True): 12,
 (Period('2020-05', 'M'), False): 321,
 (Period('2020-05', 'M'), True): 121,
 (Period('2020-06', 'M'), False): 321,
 (Period('2020-06', 'M'), True): 22,
 (Period('2020-07', 'M'), False): 333,
 (Period('2020-07', 'M'), True): 11}

我正在尝试做的事情是创建第二个列,其中包含按月分组的百分比(索引level=0)。到目前为止,我做到了以下几点:

代码语言:javascript
运行
复制
df["new_column"] = df.groupby(level=0).apply(lambda x: x/sum(x))

错误:

代码语言:javascript
运行
复制
DateParseError: Unknown datetime string format, unable to parse: new_columns

在将百分比分配给new_column时,groupby似乎无法识别日期格式。为什么?

EN

回答 1

Stack Overflow用户

发布于 2020-07-10 05:25:38

我认为在groupby中指定级别后,只需添加[0]即可。

代码语言:javascript
运行
复制
df['new column'] = df.groupby(level=0)[0].apply(lambda x:x/sum(x))

以防万一,我已经复制了下面使用的所有代码。

代码语言:javascript
运行
复制
dictionary = ({(pd.Period('2020-01', 'M'), False): 213,
(pd.Period('2020-01', 'M'), True): 21,
(pd.Period('2020-02', 'M'), False): 313,
(pd.Period('2020-02', 'M'), True): 13,
(pd.Period('2020-03', 'M'), False): 213,
(pd.Period('2020-03', 'M'), True): 23,
(pd.Period('2020-04', 'M'), False): 213,
(pd.Period('2020-04', 'M'), True): 12,
(pd.Period('2020-05', 'M'), False): 321,
(pd.Period('2020-05', 'M'), True): 121,
(pd.Period('2020-06', 'M'), False): 321,
(pd.Period('2020-06', 'M'), True): 22,
(pd.Period('2020-07', 'M'), False): 333,
(pd.Period('2020-07', 'M'), True): 11})

df = pd.DataFrame(pd.Series(dictionary))

df['new column'] = df.groupby(level=0)[0].apply(lambda x:x/sum(x))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62823724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档