在 Pandas 中,创建一个 MultiIndex 数据帧面板
In Pandas, creating a Panel of MultiIndex'ed DataFrames
我正在用两个 DataFrame 创建一个面板:
import pandas as pd
d1 = pd.DataFrame(index=pd.MultiIndex.from_product(iterables=[['a','b'],[1,'2','3'],[4]]), data=list(range(6)))
print('d1 before panel:')
print(d1)
d2 = pd.DataFrame(index=pd.MultiIndex.from_product(iterables=[['a'],['1','2'],[1, '2']]), data=list(range(4)))
print('\nd2 before panel:')
print(d2)
print('=================')
p = pd.Panel({'d1': d1, 'd2': d2})
print('\npanel d1:')
print(p['d1'])
print('\npanel d2:')
print(p['d2'])
请注意,我混合了索引类型(整数和字符串)。
初始化后我得到的面板显示 d1 完全为 NaN,一些索引重复('a'-1-4 和 'a'-'2'-4)。
似乎出了什么大问题。是否有任何记录在案的我违反的禁忌?
我通过更新 Pandas 解决了这个问题。我用的是 0.13,现在我有 0.15.2。
我正在用两个 DataFrame 创建一个面板:
import pandas as pd
d1 = pd.DataFrame(index=pd.MultiIndex.from_product(iterables=[['a','b'],[1,'2','3'],[4]]), data=list(range(6)))
print('d1 before panel:')
print(d1)
d2 = pd.DataFrame(index=pd.MultiIndex.from_product(iterables=[['a'],['1','2'],[1, '2']]), data=list(range(4)))
print('\nd2 before panel:')
print(d2)
print('=================')
p = pd.Panel({'d1': d1, 'd2': d2})
print('\npanel d1:')
print(p['d1'])
print('\npanel d2:')
print(p['d2'])
请注意,我混合了索引类型(整数和字符串)。
初始化后我得到的面板显示 d1 完全为 NaN,一些索引重复('a'-1-4 和 'a'-'2'-4)。
似乎出了什么大问题。是否有任何记录在案的我违反的禁忌?
我通过更新 Pandas 解决了这个问题。我用的是 0.13,现在我有 0.15.2。