繁体   English   中英

通过循环来自 dataframe 列的唯一值

[英]Unique values from dataframe columns via loop

是否可以从多个列中获取唯一值? 我希望每一列都通过循环拥有自己的唯一值 output。

df["col A"].unique()
可乐 B列
3个 312
4个 6456
3个 4个
1个 4个

Output

A 栏:3、4、1

B 栏:6456、312、4

这有点取决于你想要什么,如 output。你可以这样做以获得每一列的字典:

unique_vals = {col:df[col].unique() for col in df}

但您可能不希望它像这样作为 dataframe,因为无法保证每列的唯一值数量相同。

如果你只想打印它,它很简单:

for col in df:
    print(f'{col}: {df[col].unique()}')

尝试使用list comprehension

cola, colb = [df[i].unique() for i in df]

要么

df.apply(lambda x: x.unique())

让我们试试

out = pd.DataFrame(map(set,df.values.T.tolist())).T
Out[161]: 
   0     1
0  1   312
1  3  6456
2  4     4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM