Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中向面板添加数据帧_Python_Pandas_Dataframe - Fatal编程技术网

在Python中向面板添加数据帧

在Python中向面板添加数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我想用不同的数据帧创建面板,我试着写一个函数来返回这个面板。我使用一些已经编写的函数createNewDf(I),它根据给定的数值从现有数据返回数据帧 def panelCreation(): dp1 = Panel({}) for i in range(1,3): name = 'X' + str(i) name = createNewDf(i) dp1.update(name) # This does not work

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

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

我找不到替代dp1的方法的名称。更新(名称)

用数据帧的dict创建面板怎么样

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

它确实起到了作用,但是否有类似于
.append
的功能来向现有面板添加新的数据帧,但不要更改为dict.
X4=DataFrame(np.random.randn(3,4))
我的面板。更新(X4)
但这给了我一个错误。奇怪的是,与dict不同的是,如果面板一开始是空的(您没有使用填充的
数据框
初始化面板),那么在添加
新的
数据框
之前,当您尝试使用
我的面板['new']
我的面板检索
数据框时,您只会得到一个空的数据框(数据框中的数据被忽略)。因此,在使用
[]面板之前,请小心使用数据框初始化
面板
setter添加更多内容。@hobs刚刚检查过,你说得对。这在任何地方都有记录吗?这种行为与系列和数据帧非常不同,你甚至不能使用
pd。append
感谢repu@astrojuanlu!如果你/我们没有在明显的地方找到它,你/我们应该提交一份文档公关。我相信他们会很感激的。还有
@C他应该澄清这个答案。
def panelCreation():
    dd = {}
    for i in range(1,3):
        name = 'X' + str(i)
        dd[name] = createNewDf(i)
    return Panel(dd)