Вернулся с другой проблемой.Недавно я собрал некоторый доверительный интервал между показателями посещаемости сотрудников в моем бизнесе и преобразовал результаты в dframe:
def mean_confidence_interval(unstacked, confidence=0.9):
a = 1.0 * np.array(unstacked)
n = len(a)
m, se = np.nanmean(a), scipy.stats.sem(a, nan_policy='omit')
h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1)
return m, m-h, m+h
answer = unstacked.apply(mean_confidence_interval)
answer = answer.to_frame(name='Interval')
answer = answer.reset_index()
answer
, который выдает что-то похожее на это
Employee| Interval
-------------------------------
Karl | (0.75,0.70,0.80)
Я пыталсяиспользуйте запятую в качестве разделителя для создания трех новых столбцов.
Mean | Low | High
До сих пор я пытался:
answer[['Mean','Low', 'High']] = answer['Interval'].str.split(',',expand=True)
answer
только чтобы вернуть его с:
ValueError: Columns must be same length as key
Я также пытался использовать str.extract
какследующее:
p = r'(?P<Mean>-?\d+\.\d+).*?(?P<Low>-?\d+\.\d+).*?(?P<High>-?\d+\.\d+)'
answer[['Mean','Low', 'High']] = answer['Interval'].str.extract(p,expand=True)
answer
, который возвращает нужные мне столбцы, но фактически не извлекает необходимую информацию:
Employee Interval Mean Low High
0 Karl (0.75, 0.70, 0.80) NaN NaN NaN
Кто-нибудь знает, что я делаю неправильно?