【发布时间】:2017-11-17 16:41:00
【问题描述】:
我创建了一个数据框字典来存储我的数据。我需要对尝试使用 iteritems() 遍历字典的每个数据帧做一些事情。但不知何故,我似乎无法对数据框做任何事情。代码编译并且不会抛出任何错误,它似乎没有做任何事情。
这里是我的代码的简化:
这只是一个数据帧的示例字典
dic={}
df1=pd.DataFrame(np.random.randn(10,5),columns=['a','b','c','d','e'])
df2=pd.DataFrame(np.random.randn(10,5),columns=['a','b','c','d','e'])
df3=pd.DataFrame(np.random.randn(10,5),columns=['a','b','c','d','e'])
df4=pd.DataFrame(np.random.randn(10,5),columns=['a','b','c','d','e'])
df5=pd.DataFrame(np.random.randn(10,5),columns=['a','b','c','d','e'])
dic[1]=df1
dic[2]=df2
dic[3]=df3
dic[4]=df4
dic[5]=df5
这是我想对每个数据框做的一组基本操作。
for key, item in dic.iteritems():
item=item.reset_index()
item['Rank']=(item.index)+1
因此,在迭代之后,我希望每个数据框都有一个带有旧索引的额外列,以及另一个带有“Rank”的额外列,如下所示:
相反,数据框似乎不受操作的影响,看起来和以前一样:
我还尝试在迭代中使用临时数据框,然后尝试将其写入“项目”,结果相同。我只是想知道我想做的事情是否可能,或者我必须绕过它并使用不同的方法来实现我的目标。
【问题讨论】:
标签: python pandas dictionary dataframe