使用Pandas/Python中迭代生成的字符串命名数据帧

2024-04-26 03:59:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python/Pandas有点陌生,一直碰到这个我找不到解决办法的特定用例。我想用迭代产生的名称创建一系列数据帧。这是一个我想在理论上工作的例子

list1_A = DataFrame([(1,3,2),(2,4,5)])
list2_A = DataFrame([(1,5,2),(5,2,3)])
list3_A = DataFrame([(5,2,1),(3,3,6)])

listOfDFs = [list1_A, list2_A, list3_A]
for i in range(len(listofDFs)):
     'list'+str(i)+'A' = 'list'+str(i)+'A' + 5 

我已经尝试了多种方法来解决这个问题,但它是一个不断出现在我面前的用例。在R中,我使用了assign('dfName',value)。在


Tags: 数据名称dataframepandas理论用例list例子
1条回答
网友
1楼 · 发布于 2024-04-26 03:59:23

利用pandas,从代码末尾开始:

import pandas as pd
allDFs = pd.concat(listOfDFs)
mI = pd.MultiIndex.from_arrays([['list'+i+'A' for i in list('112233')],[0,1]*3],names=['A','B'])
allDFs.index=mI

生成的多索引数据帧:

          0  1  2
A      B         
list1A 0  1  3  2
       1  2  4  5
list2A 0  1  5  2
       1  5  2  3
list3A 0  5  2  1
       1  3  3  6

pandas可以用一个多索引的数据帧做很多事情:http://pandas.pydata.org/pandas-docs/dev/advanced.html#advanced。E、 g.对任何标准进行切片或选择,并运行测试或操作:

^{pr2}$
A
list1A     True
list2A     True
list3A    False

相关问题 更多 >