在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)