python - 如何遍历字典中的多个数据框
问题描述
我创建了一个似乎由多个按位置解析的数据帧组成的字典。但是,当我尝试遍历 dict 以按位置运行关联时,它看起来好像在整个集合上运行关联。
我已按位置(Store_ID)拆分数据帧,循环将打印每个 Store_ID,但由于每次迭代中的相关性完全相同,我怀疑它只是使用整个数据集,而不是遍历字典中的数据帧。
我开始:
stores = df.Store_ID.unique()
storedict = {elem : pd.DataFrame() for elem in stores}
for key in storedict.keys():
storedict[key] = df[:][df.Store_ID == key]
np.array(storedict)
打印按每个位置分组的数组。
但是这个循环(如下),虽然它在打印时遍历存储,但似乎返回相同的相关系数,就好像它只是在整个位置集(存储)上重复 Pearson 相关。
我想要做的是让它显示,例如商店 ID 和与该商店 ID 关联的数据的相关矩阵,然后是下一个商店 ID 及其相关矩阵,等等......
我一定在这里遗漏了一些非常明显的东西。它是什么?
编辑:
所以当我运行时:
for store in stores:
print("\r")
print(store)
pd.set_option('display.width', 100)
pd.set_option('precision', 3)
correlations = data.corr(method='pearson')
print(correlations)
我得到相同的相关性列表。我想知道是不是因为data
在全球范围内定义为:
data = df.drop(['datestring'], axis=1)
data.index = df.datestring
values = data.values
我认为data.corr
忽略元组并查看原始数据框。如何定义相关性,以便它为每个商店的“数据”迭代运行,而不是所有商店?再次在这里,我想做的是将一个数据帧迭代地拆分为多个数据帧,并将每个存储上的相关性作为一个单独的数据帧运行(或者,在不增加代码量来解决可能出现的问题的情况下,最容易让它工作)循环。
解决方案
推荐阅读
- mysql - MySQL存储值列表
- mysql - 如何使用 C# Visual Studio 执行 MySql 存储过程
- javascript - 是否可以在使用 console.log 将其发送到服务器时查看此 json 数据?
- c# - 您可以将 Autofac 的 Owned 与标记界面一起使用吗?
- r - 用 R 中的匹配名称替换基于向量的矩阵值
- mongodb - Pymongo find() 与“$toString”投影运算符
- php - 难以将其他扩展加载到 Azure 上的 php 实例中
- elasticsearch - 及时将多个日志从filebeat发送到logstash
- c# - 在 C# 中更改长日期格式
- bash - Bash:我如何(1)从包含一列数字的文件中的“i”行中读取一个数字,以及(2)将值分配给一个变量?