Python 对数据帧中的列应用唯一性

Python 对数据帧中的列应用唯一性,python,pandas,Python,Pandas,我有超过385个特性的数据,可以为我使用的df.unique()函数的列找到唯一性。 但是,我必须在所有385列中找到唯一的值 我试着使用for循环,如下所示 col = [df_train.columns] for i in col: print(i.unique()) 我得到的输出如下 Index(['ID', 'y', 'X0', 'X1', 'X2', 'X3', 'X4', 'X5', 'X6', 'X8', ... 'X375', 'X376'

我有超过385个特性的数据,可以为我使用的
df.unique()
函数的列找到唯一性。 但是,我必须在所有385列中找到唯一的值

我试着使用for循环,如下所示

col = [df_train.columns]

for i in col:
    print(i.unique())
我得到的输出如下

Index(['ID', 'y', 'X0', 'X1', 'X2', 'X3', 'X4', 'X5', 'X6', 'X8',
       ...
       'X375', 'X376', 'X377', 'X378', 'X379', 'X380', 'X382', 'X383', 'X384',
       'X385'],
      dtype='object', length=366)
但是,上面是数据集的列名,而不是每列的唯一值

当我申请循环时,我犯了一个概念错误,如果能纠正我的错误,或者用其他方法来做同样的事情,我将不胜感激

提前谢谢

for i in df_train.columns:
    print(df_train[i].unique())
如果你这样做

print(df_train.columns)
它只提供列名

例如,
[“x0”、“x1”、“x2”]


您需要使用索引来访问列值,如
df\u train[“column\u name”]

要在
数据帧中查找
唯一的
值,我们可以使用
描述
方法如下

df.describe().loc['unique']

尝试对每列运行
unique()
方法:

col = df.columns.values.tolist()
unique_vals_list = []

for column in col:
    unique_vals_list.append(list(df[column].unique()))
您的
unique\u vals\u列表现在将包含每列的所有唯一值。这将是一个列表列表,因此每个索引实际上是数据帧的相同索引

因此,访问第一列的all unique将具有以下语法:

unique_vals_list[0]
访问第二列唯一值:

unique_vals_list[1]

等等。

如果您有时间,您能解释一下我在上面的代码中哪里出错了吗?这样我就可以避免进一步的概念错误。