gpt4 book ai didi

python - 使用 iteritems() 时在字典中操作 pandas dataframe

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:18 26 4
gpt4 key购买 nike

我创建了一个数据框字典来存储我的数据。我需要对我尝试使用 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”的额外列,如下所示:

Expected

相反,数据框似乎不受操作影响,看起来和以前一样:

Reality

我也曾尝试在迭代中使用临时数据框,然后尝试将其写入“项目”,结果相同。我只是想知道我想做的事情是否可行,或者我是否必须绕过它并使用不同的方法来实现我的目标。

最佳答案

我认为你只需要返回 DataFrame,如果想要 python 2 和 3 代码使用 items():

for key, item in dic.items():
item=item.reset_index()
item['Rank']=(item.index)+1
dic[key] = item

print (dic[1])
index a b c d e Rank
0 0 -1.085631 0.997345 0.282978 -1.506295 -0.578600 1
1 1 1.651437 -2.426679 -0.428913 1.265936 -0.866740 2
2 2 -0.678886 -0.094709 1.491390 -0.638902 -0.443982 3
3 3 -0.434351 2.205930 2.186786 1.004054 0.386186 4
4 4 0.737369 1.490732 -0.935834 1.175829 -1.253881 5
5 5 -0.637752 0.907105 -1.428681 -0.140069 -0.861755 6
6 6 -0.255619 -2.798589 -1.771533 -0.699877 0.927462 7
7 7 -0.173636 0.002846 0.688223 -0.879536 0.283627 8
8 8 -0.805367 -1.727669 -0.390900 0.573806 0.338589 9
9 9 -0.011830 2.392365 0.412912 0.978736 2.238143 10

关于python - 使用 iteritems() 时在字典中操作 pandas dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44563226/

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