熊猫1.1.4
考虑
df4 = pd.DataFrame({
'a': [1, 2, 3, 4]
})
counts = df4.value_counts().astype(np.int)
print(counts.index)
counts.reindex(counts.index.to_flat_index())
print(counts.index)
print(counts.index.to_flat_index())
输出:
MultiIndex([(4,), (3,), (2,), (1,)], names=['a']) MultiIndex([(4,), (3,), (2,), (1,)], names=['a']) Index([(4,), (3,), (2,), (1,)], dtype='object')
我想能和你交换
df5 = pd.Series([5, 6, 7, 8], index=[1, 2, 3, 4])
print(df5.index)
谁的index
是
Int64Index([1,2,3,4],dtype='int64')
请注意df4
的索引与df5
的索引相同,但value_counts
使其成为一个多索引
我如何解决这个问题?我试过的任何压扁似乎都不管用
当pandas从字典(如本例所示)创建数据帧时,它假定传递的dict的键应该是结果数据帧的列。如果键应为行,则应按如下方式初始化数据帧:
然后运行时:
你得到
您可以从多索引的第0级提取索引,如下所示:
然后,您可以将索引替换为这些值,如下所示:
但是,您可以简单地对列本身调用
.value_counts()
,以避免使用多索引:相关问题 更多 >
编程相关推荐