使用python def函数追加列表

使用python def函数追加列表,python,function,append,Python,Function,Append,我的数据集中有一些分类特征。我想知道每个分类特征有多少个唯一的数字,因为我不会转换那些唯一数字大的特征 我希望一次获得所有数字,而不是对每个功能使用df['column name'].nunique()。下面,我试图通过定义一个函数为每个分类列创建一个唯一的数字列表,但结果只得到一个空列表。我希望有人能找出我的代码不起作用的原因 #make a list of all categorical features cat_feats=['hotel','arrival_date_month'

我的数据集中有一些分类特征。我想知道每个分类特征有多少个唯一的数字,因为我不会转换那些唯一数字大的特征

我希望一次获得所有数字,而不是对每个功能使用
df['column name'].nunique()
。下面,我试图通过定义一个函数为每个分类列创建一个唯一的数字列表,但结果只得到一个空列表。我希望有人能找出我的代码不起作用的原因

 #make a list of all categorical features
 
 cat_feats=['hotel','arrival_date_month','assigned_room_type','customer_type','deposit_type','distribution_channel','market_segment','meal','reserved_room_type',
 'country','reservation_status','reservation_status_date']
 

# define a function
 n_unique = [] 
def function(cat_feats):
    for x in cat_feats:
        n = hotel['x'].nunique()
        n_unique.append(n)
    return n_unique

而不是创建所有分类的
列表
,然后使用
for循环
并将唯一值的编号附加到新的
列表

只要用这个:-

n_unique=hotel.nunique().to_list()

使用代码块我不确定我是否完全理解您的代码,但
hotel['x'].nunique()
在名为
x
的变量上编写循环时似乎有问题。你确定要在索引周围加引号吗?那么这里有什么问题?…你的函数不工作还是什么?@AnuragDabas我的代码不工作。我希望函数返回一个列表(n_unique),其中包含cat_专长中每一列的不同观察数。但是n_unique列表中没有任何元素。@Blckknght我删除了引号,但得到了相同的结果。非常简单!!