您好我正在创建一个for循环,将唯一值分成两个列表。
描述列:
print(flight_data_finalcopy['UniqueCarrier'].describe())
print(flight_data_finalcopy['Origin'].describe())
print(flight_data_finalcopy['OriginCityName'].describe())
print(flight_data_finalcopy['OriginStateName'].describe())
哪个输出:
Output:
`count 433298
unique 12
top WN
freq 101335
Name: UniqueCarrier, dtype: object
count 433298
unique 294
top ATL
freq 29413
Name: Origin, dtype: object
count 433298
unique 290
top Atlanta, GA
freq 29413
Name: OriginCityName, dtype: object
count 433298
unique 52
top California
freq 54922
Name: OriginStateName, dtype: object
我的目标是将两个独特描述的值分成两个不同的列表。一个列表应具有唯一值< 55,其余的应该到第二个清单。它的工作原理但问题是所有内容都会附加到一个列表中。是否有我遗漏的东西?非常感谢,谢谢。这是我的代码:
dummies_columns = []
frequency_distribution_columns = []
for column in categorical_columns:
if (flight_data[column].unique) <= 55:
dummies_columns.append(column)
else:
frequency_distribution_columns.append(column)
答案 0 :(得分:0)
行。我解决了这个问题。因为我有兴趣在列中找到唯一值的总量,所以我必须调用len()。例如,我找到了一列的数字总和:
len(flight_data_finalcopy['Origin'].unique())
输出该列的唯一值总量。所以上面的行将输出:
Output: 294
如果没有调用len()以前只给了我显示各个唯一值而不是数字数字的数组。
我必须将dame概念应用于for循环中的if语句。 我在这里做了改动:
dummies_columns = []
requency_distribution_columns = []
for column in categorical_columns:
if len(flight_data_finalcopy[column].unique()) <= 55:
dummies_columns.append(column)
else:
frequency_distribution_columns.append(column)
这成功循环并将列分配到正确的列表
Output: print(dummies_columns)
['UniqueCarrier', 'OriginStateName', 'DestStateName']
Output: print(frequency_distribution_columns)
['Origin', 'OriginCityName', 'Dest', 'DestCityName']
希望这有助于未来的Stackers!