1
我使用.xs或.loc(他們似乎表現相同)通過索引提取我的數據框的一個子集。當我的條件檢索多行時,結果保留一個數據框。當只檢索一行時,它會自動轉換爲一系列。我不想要這種行爲,因爲這意味着我需要處理多個下游案例(可用於系列vs數據框的不同方法集)。如何在提取單個行時保留大熊貓數據框標識
In [1]: df = pd.DataFrame({'a':range(7), 'b':['one']*4 + ['two'] + ['three']*2,
'c':range(10,17)})
In [2]: df.set_index('b', inplace=True)
In [3]: df.xs('one')
Out[3]:
a c
b
one 0 10
one 1 11
one 2 12
one 3 13
In [4]: df.xs('two')
Out[4]:
a 4
c 14
Name: two, dtype: int64
In [5]: type(df.xs('two'))
Out [5]: pandas.core.series.Series
我可以在一系列手動轉換回數據幀,但似乎繁瑣,也需要用例測試,看看我是否應該這樣做。有沒有更簡潔的方法來重新開始數據框?