Рассмотрим следующее:
>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame(np.random.randn(5, 2), index=[100, 101, 101, 102, 103])
>>> idx = set(df.index)
>>> for id_ in idx:
... slice = df.loc[id_]
... # stuff with slice
>>>
Мне нужно сделать что-то с slice
в цикле for
, но этот материал основан на slice
, равном DataFrame
. slice
- это DataFrame
, если имеется более одной совпадающей записи, но Series
в противном случае. Я знаю, что pandas.Series
имеет метод Series.to_frame
, но pandas.DataFrame
нет (поэтому я не могу просто вызвать df.loc[id_].to_frame()
).
Каков наилучший способ проверки и приведения slice
в DataFrame
?
(это действительно так же просто, как тестирование, если isinstance(df.loc[id_], pd.Series)
?)