我需要创建一个DataFrame包含DataFrames. 在DataFrames那走在列有不同的大小,我得到一个StopIteration例外。当DataFrames大小相同时,这不会发生。我知道 aPanel更适合于此,但DataFrame在这种情况下我需要 a 。
a=pd.DataFrame({'cat1':['one','two','three'],'cat2':['four','five','six']})
b=pd.DataFrame({'cat1':['ten','eleven'],'cat2':['twelve','thirteen']})
pd.DataFrame({'col1':{'row1':a,'row2':b}})
Run Code Online (Sandbox Code Playgroud)
如果我分别从“cat1”、“cat2”中删除“三个”和“六个”项目,那么这可以正常工作。知道我如何实现这一目标吗?
这不是一个好主意,你会失去所有效率,因为事物被视为object数据类型并且操作会非常慢(因为操作不能通过 C 级基本类型完成,例如 float/int)。更好的是使用多级索引,它可以轻松包含我认为你想要的内容
In [20]: a
Out[20]:
cat1 cat2
0 one four
1 two five
2 three six
In [21]: b
Out[21]:
cat1 cat2
0 ten twelve
1 eleven thirteen
In [22]: pd.concat([ a, b ], keys={ 'row1' : a, 'row2' : b })
Out[22]:
cat1 cat2
row1 0 one four
1 two five
2 three six
row2 0 ten twelve
1 eleven thirteen
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13151 次 |
| 最近记录: |