创建for循环以将唯一值分隔为两个列表

2024-04-25 19:12:09 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,我正在创建一个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())

哪些输出:

^{pr2}$

我的目标是将唯一描述的值分成两个不同的列表。一个列表应该有唯一的值<;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)

Tags: columns列表fordatacolumnorigindistributionflight
1条回答
网友
1楼 · 发布于 2024-04-25 19:12:09

好吧。我解决了这个问题。因为我对查找列中唯一值的总数感兴趣,所以必须调用len()。例如,我找到一列的数值总和:

len(flight_data_finalcopy['Origin'].unique())

它输出该列的唯一值的总数。因此,上述行将输出:

^{pr2}$

因为之前没有调用len(),所以只给了我一个数组来显示单个的唯一值,而不是一个数字。在

我必须在for循环中对if语句应用dame概念。 我在这里做了改变:

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']

希望这对未来的堆垛机有所帮助!在

相关问题 更多 >

    热门问题