gpt4 book ai didi

python - Pandas:用空白替换重复值 groupby 像

转载 作者:行者123 更新时间:2023-12-01 07:31:35 25 4
gpt4 key购买 nike

我得到的数据框包含重复值组的列。我想要的是仅保留此类列中的第一项。

我已经尝试过df = df.groupby(['author', 'key'])但不知道如何正确获取所有行。与df.first()仅打印第一行。

import pandas as pd

lst = [
['juli', 'JIRA-1', 'assignee'],
['juli', 'JIRA-1', 'assignee'],
['nick', 'JIRA-1', 'timespent'],
['nick', 'JIRA-3', 'status'],
['nick', 'JIRA-3', 'assignee'],
['tom', 'JIRA-1', 'comment'],
['tom', 'JIRA-1', 'assignee'],
['tom', 'JIRA-2', 'status']]

df = pd.DataFrame(lst, columns =['author', 'key', 'field'])
#df = df.sort_values(by=['author', 'key'])

>>> df
author key field
0 juli JIRA-1 assignee
1 juli JIRA-1 assignee
2 nick JIRA-1 timespent
3 nick JIRA-3 status
4 nick JIRA-3 assignee
5 tom JIRA-1 comment
6 tom JIRA-1 assignee
7 tom JIRA-2 status

我得到了什么:

>>> df.groupby(['author', 'key']).first()
field
author key
juli JIRA-1 assignee
nick JIRA-1 timespent
JIRA-3 status
tom JIRA-1 comment
JIRA-2 status

我想要什么:

juli   JIRA-1   assignee
assignee
nick JIRA-1 timespent
JIRA-3 status
assignee
tom JIRA-1 comment
assignee
JIRA-2 status

最佳答案

看起来您需要df.duplicated()查找重复项和 df.loc[]分配空格:

df.loc[df.duplicated(['author','key']),['author','key']]=''
print(df)
<小时/>
  author     key      field
0 juli JIRA-1 assignee
1 assignee
2 nick JIRA-1 timespent
3 nick JIRA-3 status
4 assignee
5 tom JIRA-1 comment
6 assignee
7 tom JIRA-2 status

关于python - Pandas:用空白替换重复值 groupby 像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57186587/

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