在 Python pandas 中将 DataFrame 添加到面板

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/12619215/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-13 20:26:35  来源:igfitidea点击:

Adding DataFrame to Panel in Python pandas

pythonpandasdataframe

提问by tomasz74

I want to create panel with different dataframes, I try to write a function to return this panel. I use some already written function createNewDf(i)which returns dataFrame from existing data, depending on given numeric value.

我想用不同的数据框创建面板,我尝试编写一个函数来返回这个面板。我使用一些已经编写的函数createNewDf(i),它根据给定的数值从现有数据返回 dataFrame。

def panelCreation():
    dp1 = Panel({})
    for i in range(1,3):
        name = 'X' + str(i)
        name = createNewDf(i)
    dp1.update(name)       # This does not work
    return dp1

I can't find a name of the method to put in place of dp1.update(name)

我找不到要代替的方法的名称 dp1.update(name)

回答by Chang She

How about just creating the Panel out of a dict of DataFrame?

仅从 DataFrame 的字典中创建面板怎么样?

In [10]: dd = {}

In [11]: for i in range(1, 3):
   ....:     name = 'X' + str(i)
   ....:     dd[name] = DataFrame(np.random.randn(3,3))
   ....:     

In [12]: Panel(dd)
Out[12]: 
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 3 (major) x 3 (minor)
Items: X1 to X2
Major axis: 0 to 2
Minor axis: 0 to 2

So something like:

所以像:

def panelCreation():
    dd = {}
    for i in range(1,3):
        name = 'X' + str(i)
        dd[name] = createNewDf(i)
    return Panel(dd)