gpt4 book ai didi

python :Nested for loops fail on the second loop

转载 作者:行者123 更新时间:2023-11-30 22:11:11 25 4
gpt4 key购买 nike

我正在尝试将大型数据集分成较小的部分进行分析。在实现决策树之前,我一直使用 for 循环来划分数据集。请参阅下面的数据集的小版本:

ANZSCO4_CODE          Skill_name              Cluster         date
1110 computer S 1
1110 communication C 1
1110 SAS S 2
1312 IT support S 1
1312 SAS C 2
1312 IT support S 1
1312 SAS C 1

第一步我创建一个空字典:

d = {}

和列表:

 list = [1110, 1322, 2111]
s_type = ['S','C']

然后运行以下循环:

for i in list:
d[i]=pd.DataFrame(df1[df1['ANZSCO4_CODE'].isin([i])] )

结果是一个包含 2 个数据集的字典。

下一步,我想将数据集分割为 S 和 C。我运行以下代码:

for i in list:
d[i]=pd.DataFrame(df1[df1['ANZSCO4_CODE'].isin([i])] )

for b in s_type:
d[i]= d[i][d[i]['SKILL_CLUSTER_TYPE']==b]

作为最终结果,我希望有 4 个独立的数据集,分别是:1110 x S1110 x C1312 x S > 和 1312 和 C

但是,当我实现第二个代码时,我在字典中只得到 2 个数据集,而且它们是空的。

最佳答案

也许这样的东西有效:

from collections import defaultdict

d = defaultdict(pd.DataFrame)

# don't name your list "list"
anzco_list = [1110, 1312]
s_type = ['S','C']

for i in anzco_list:
for b in s_type:
d[i][b] = df1[(df1['ANZSCO4_CODE'] == i) & (df1['SKILL_CLUSTER_TYPE'] == b)]

然后您可以像这样访问您的 DataFrame:

d[1112]['S']

关于 python :Nested for loops fail on the second loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51511031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com