gpt4 book ai didi

python - 如何获取嵌套列的唯一元素的 value_counts()?

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:50 26 4
gpt4 key购买 nike

我正在尝试计算 pandas df 的嵌套列的唯一值,这是 manuel 注释的结果。假设我们有以下 df:

df_test = pd.DataFrame(data=dict(x=["A","B","C","D"], values=["33 53 51 42 41 40 39", "33 53 51 42 41 40 39", "33 51 42 41 40 39", "33 51 42 41 40 39"]))

结果是:

    x   values
0 A 33 53 51 42 41 40 39
1 B 33 53 51 42 41 40 39
2 C 33 51 42 41 40 39
3 D 33 51 42 41 40 39

我的两个目标如下:

  1. 获取“值”列的唯一值,这是我通过应用得出的:
list_unique = []
for i in range(len(df_test["values"])):
for j in pd.Series(df_test["values"].iloc[i].split(" ")).unique():
list_unique.append(j)
list(set(list_unique))
  1. 此外,唯一值出现的频率也很有趣。

获取类似 value_counts() 的最佳方法是什么,但对于嵌套列的所有唯一元素?会是这样的:

33  4
39 4
40 4
41 4
42 4
51 4
53 2

非常感谢。

最佳答案

使用Series.str.split , 通过 DataFrame.stack reshape 并调用Series.value_counts :

s = df_test["values"].str.split(expand=True).stack().value_counts()
print(s)
51 4
33 4
42 4
41 4
39 4
40 4
53 2
dtype: int64

如果需要DataFrame:

df1 = s.rename_axis('val').reset_index(name='count')
print(df1)
val count
0 51 4
1 33 4
2 42 4
3 41 4
4 39 4
5 40 4
6 53 2

关于python - 如何获取嵌套列的唯一元素的 value_counts()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57956962/

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