在 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
Adding DataFrame to Panel in Python pandas
提问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)

