在 Pandas 中,当我选择索引中只有一个条目的标签时,我会返回一个系列,但是当我选择一个包含多个条目的条目时,我会返回一个数据框。
这是为什么呢?有没有办法确保我总是取回数据框?
In [1]: import pandas as pd
In [2]: df = pd.DataFrame(data=range(5), index=[1, 2, 3, 3, 3])
In [3]: type(df.loc[3])
Out[3]: pandas.core.frame.DataFrame
In [4]: type(df.loc[1])
Out[4]: pandas.core.series.Series
最佳答案
当然,这种行为是不一致的,但我认为很容易想象这样方便的情况。无论如何,要每次都获得一个 DataFrame,只需将一个列表传递给 loc
。还有其他方法,但我认为这是最干净的。
In [2]: type(df.loc[[3]])
Out[2]: pandas.core.frame.DataFrame
In [3]: type(df.loc[[1]])
Out[3]: pandas.core.frame.DataFrame
关于python - 按标签选择的 Pandas 有时会返回 Series,有时会返回 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20383647/