我有超过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)
但是以上是数据集的列名称,而不是每列的唯一值。
当我申请循环时,我在做一个概念错误,如果能纠正我要去的地方或者做同样的事情,我将不胜感激。
谢谢。
答案 0 :(得分:1)
for i in df_train.columns:
print(df_train[i].unique())
如果愿意
print(df_train.columns)
它只会给您列名
例如["x0","x1","x2"]
等
您需要使用索引来访问列值,例如df_train["column_name"]
答案 1 :(得分:0)
要在unique
中查找dataframe
值,我们可以使用describe
方法,如下所示
df.describe().loc['unique']
答案 2 :(得分:0)
尝试每列运行unique()
方法:
col = df.columns.values.tolist()
unique_vals_list = []
for column in col:
unique_vals_list.append(list(df[column].unique()))
您的unique_vals_list
现在将包含每列的所有唯一值。这将是一个列表列表,因此每个索引实际上是您数据框的相同索引。
因此,访问第一列的所有唯一关键字将具有以下语法:
unique_vals_list[0]
访问第二列的唯一值:
unique_vals_list[1]
以此类推。