gpt4 book ai didi

python - 选择 Pandas 多索引数据框中只有 1 个条目的元素

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

我有以下数据框 df

import pandas as pd
df = pd.DataFrame([[1, 1, 2, 2, 2, 3,4,5,5,5,6,6,6,6],
list('AABBBCDEEEFFFF'),
[1, 2, 3, 4, 5, 6,7,8,9,10,11,12,13,14],
[1, 2, 3, 4, 5, 6,7,8,9,11,12,11,11,11]]).T
df.columns = ['col1','col2','col3','col4']

df
Out[4]:
col1 col2 col3 col4
0 1 A 1 1
1 1 A 2 2
2 2 B 3 3
3 2 B 4 4
4 2 B 5 5
5 3 C 6 6
6 4 D 7 7
7 5 E 8 8
8 5 E 9 9
9 5 E 10 11
10 6 F 11 12
11 6 F 12 11
12 6 F 13 11
13 6 F 14 11

我根据其列按以下顺序分组

df.groupby(['col1','col2','col3']).size()

Out[7]:
col1 col2 col3
1 A 1 1
2 1
2 B 3 1
4 1
5 1
3 C 6 1
4 D 7 1
5 E 8 1
9 1
10 1
6 F 11 1
12 1
13 1
14 1

如何为只有一个条目的组提取 col3 的值?

df_return
Out[4]:
col3
0 6
1 7

最佳答案

您可以通过将 col1col2 传递给 .groupby,然后使用 .filter 来完成此操作选择长度(即大小)等于 1 的组。

df_return = df.groupby(['col1','col2']).filter(lambda x: len(x) == 1)['col3']

print df_return
# 5 6
# 6 7

关于python - 选择 Pandas 多索引数据框中只有 1 个条目的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49679447/

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