这可以被认为是一个边缘情况,但是当我试图挤压(减少到时间序列)只包含一个观察的熊猫数据帧时,我发现了一个不一致。
import pandas as pd
xx = pd.DataFrame(1, columns = ['A'], index = ['first_index'])
xx.squeeze()
#1 (float)
pd.Series(xx)
#Out[4]:
#0 1
#dtype: object
预期产出:
pd.Series(xx, index = xx.index)
Out[5]:
first_index 1
dtype: object
我的问题是:为什么只有一个观察的DataFrame被挤压函数视为一维对象?
这是一个错误还是我错过了任何设计理由?
答案 0 :(得分:0)
这会带来一些开销,但它可能会起作用:
pd.concat([xx,xx]).squeeze().iloc[:len(xx)]
Out[1778]:
first_index 1
Name: A, dtype: int64