Pandas 在数据帧字典中循环并计算列数

Pandas 在数据帧字典中循环并计算列数,pandas,dataframe,dictionary,Pandas,Dataframe,Dictionary,我想知道是否有人能帮忙。我在字典中存储了许多数据帧。我只想访问这些数据帧中的每一个,并在我有10个字母的列中计算一列中的值。在第一个数据帧中有5B和5A。例如,我期望计数的输出是a=5和b=5。但是,对于每个数据帧,此计数都会不同,因此我希望将这些计数的输出存储到另一个字典或单独的变量中 字典称为Dict,所有数据帧中的列名称为字母。我试图通过访问字典中的键来实现这一点,但无法让它工作。下面是我尝试过的一部分 将熊猫作为pd导入 对于输入Dict: 计数=pd.值\u计数(键['字母]) 这里的

我想知道是否有人能帮忙。我在字典中存储了许多数据帧。我只想访问这些数据帧中的每一个,并在我有10个字母的列中计算一列中的值。在第一个数据帧中有5B和5A。例如,我期望计数的输出是a=5和b=5。但是,对于每个数据帧,此计数都会不同,因此我希望将这些计数的输出存储到另一个字典或单独的变量中

字典称为Dict,所有数据帧中的列名称为字母。我试图通过访问字典中的键来实现这一点,但无法让它工作。下面是我尝试过的一部分

将熊猫作为pd导入
对于输入Dict:
计数=pd.值\u计数(键['字母])

这里的Count在理想情况下会随着每个新的Count输出而改变,以存储到一个新的变量中

字典中14个数据帧之一的简化示例(实际数据帧大小最大为5000,63)如下

`d={'col1':[1,2,3,4,5,6,7,8,9,10],'letters':['a','a','b','b','a','b','a','b','b']}

df=pd.DataFrame(数据=d)`

其他数据帧是名称df2、df3、df4等

我希望这是有道理的。任何帮助都将不胜感激


谢谢

如果您想在迭代字典时同时访问键和值,应该使用items函数。 您可以使用另一个字典来存储结果:

letter_counts = {}
for key, value in Dict.items():
    letter_counts[key] = value["letters"].value_counts()
您还可以使用字典理解在一行中完成此操作:

letter_counts = {key: value["letters"].value_counts() for key, value in Dict.items()}

如果要在迭代字典时同时访问键和值,则应使用items函数。 您可以使用另一个字典来存储结果:

letter_counts = {}
for key, value in Dict.items():
    letter_counts[key] = value["letters"].value_counts()
您还可以使用字典理解在一行中完成此操作:

letter_counts = {key: value["letters"].value_counts() for key, value in Dict.items()}

最简单的可能是词典理解:

d = {'col1': [1, 2,3,4,5,6,7,8,9,10], 'letters': ['a','a','a','b','b','a','b','a','b','b']}
d2 = {'col1': [1, 2,3,4,5,6,7,8,9,10,11], 'letters': ['a','a','a','b','b','a','b','a','b','b','a']}

df = pd.DataFrame(data=d)
df2 = pd.DataFrame(d2)

df_dict = {'d': df, 'd2': df2}

new_dict = {k: v['letters'].count() for k,v in df_dict.items()}

# out
{'d': 10, 'd2': 11}

最简单的可能是词典理解:

d = {'col1': [1, 2,3,4,5,6,7,8,9,10], 'letters': ['a','a','a','b','b','a','b','a','b','b']}
d2 = {'col1': [1, 2,3,4,5,6,7,8,9,10,11], 'letters': ['a','a','a','b','b','a','b','a','b','b','a']}

df = pd.DataFrame(data=d)
df2 = pd.DataFrame(d2)

df_dict = {'d': df, 'd2': df2}

new_dict = {k: v['letters'].count() for k,v in df_dict.items()}

# out
{'d': 10, 'd2': 11}

你能给我一个字典中数据框的例子吗?谢谢,我编辑了原始问题,给出了一个没有给出较大字典示例的例子。你能给一个字典中数据框的示例吗?谢谢,我编辑了原始问题,给出了一个没有给出较大字典示例的示例字典这不会“将这些计数的输出存储到另一个字典或单独的变量中”。每次迭代都会覆盖计数,而不会附加到任何地方。谢谢Daniel,有没有办法每次为每个数据帧更改变量计数。因此,我将每个数据帧的计数结果存储在单独的变量中。尝试在for循环之前声明计数,然后在每次迭代中将其添加到itI中。我编辑了答案以将结果存储在字典中。非常感谢这不会“将这些计数的输出存储到另一个字典或单独的变量中。”每次迭代都会覆盖计数,而不会附加到任何地方。谢谢Daniel,有没有办法每次为每个数据帧更改变量计数。因此,我将每个数据帧的计数结果存储在单独的变量中。尝试在for循环之前声明计数,然后在每次迭代中添加到itI中。我编辑了答案以将结果存储在字典中。非常感谢