【发布时间】:2019-09-16 12:32:03
【问题描述】:
我正在尝试计算 pandas df 嵌套列的唯一值,这是 manuel cmets 的结果。 假设我们有以下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
我的两个目标如下:
- 获取“values”列的唯一值,我通过应用得出的结论:
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))
- 此外,唯一值出现的频率非常有趣。
除了嵌套列的所有唯一元素之外,获得类似 value_counts() 的最佳方法是什么?会是什么样子:
33 4
39 4
40 4
41 4
42 4
51 4
53 2
非常感谢。
【问题讨论】: