在 Pandas 中使用 multiIndexing 时显示所有索引值
Showing all index values when using multiIndexing in Pandas
我希望在查看我的 DataFrame 时看到 multiIndex 的所有值,包括当后续行对其中一个级别具有相同索引时。这是一个例子:
arrays = [['20', '50', '20', '20'],['N/A', 'N/A', '10', '30']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['Jim', 'Betty'])
pd.DataFrame([np.random.rand(1)]*4,index=index)
输出为:
0
Jim Betty
20 N/A 0.954973
50 N/A 0.954973
20 10 0.954973
30 0.954973
我想在西南角也有一个 20。也就是说,我希望我的 DataFrame 是:
0
Jim Betty
20 N/A 0.954973
50 N/A 0.954973
20 10 0.954973
20 30 0.954973
Pandas能做到吗?
您需要将 display.multi_sparse
设置为 False
:
#if need temporary use option
with pd.option_context('display.multi_sparse', False):
print (df)
0
Jim Betty
20 N/A 0.201643
50 N/A 0.201643
20 10 0.201643
20 30 0.201643
如果整个笔记本都需要这个显示选项,可以按如下方式一劳永逸地设置该选项:
# if permanent use
import pandas as pd
pd.options.display.multi_sparse = False
display.multi_sparse
True
“Sparsify” MultiIndex display (don’t display repeated elements in outer levels within groups)
我希望在查看我的 DataFrame 时看到 multiIndex 的所有值,包括当后续行对其中一个级别具有相同索引时。这是一个例子:
arrays = [['20', '50', '20', '20'],['N/A', 'N/A', '10', '30']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['Jim', 'Betty'])
pd.DataFrame([np.random.rand(1)]*4,index=index)
输出为:
0
Jim Betty
20 N/A 0.954973
50 N/A 0.954973
20 10 0.954973
30 0.954973
我想在西南角也有一个 20。也就是说,我希望我的 DataFrame 是:
0
Jim Betty
20 N/A 0.954973
50 N/A 0.954973
20 10 0.954973
20 30 0.954973
Pandas能做到吗?
您需要将 display.multi_sparse
设置为 False
:
#if need temporary use option
with pd.option_context('display.multi_sparse', False):
print (df)
0
Jim Betty
20 N/A 0.201643
50 N/A 0.201643
20 10 0.201643
20 30 0.201643
如果整个笔记本都需要这个显示选项,可以按如下方式一劳永逸地设置该选项:
# if permanent use
import pandas as pd
pd.options.display.multi_sparse = False
display.multi_sparse
True
“Sparsify” MultiIndex display (don’t display repeated elements in outer levels within groups)