У меня есть dataframe, включая переменную (t_seg_size), и я хочу сегментировать эту переменную в четные сегменты, например. 0-1000000, 1000001-2000000 и т. Д.), А затем генерировать сводную статистику для каждого сегмента.Проблема с циклом обработки данных и генерированием сводных статистических данных
Метод, который я использую, состоит в том, чтобы перебирать данные в кусках соответствующего размера, а затем генерировать статистику, такую как .std().
Вот код:
for x in range (1000000, 200000000, 1000000):
print(df3[(x-999999 < df3["t_seg_size"] < x)].t_seg_size.std())
Таким образом, цикл должен искать t_seg_size между (1) и (1000000), а также генерировать стандартное отклонение. Тем не менее, я получаю следующее сообщение об ошибке:
ValueError Traceback (most recent call last)
<ipython-input-65-ee3e9911be81> in <module>()
2 #df3[df3["t_seg_size"] > 2000000].describe()
3 for x in range (1000000, 200000000, 1000000):
----> 4 print(df3[(1000000 < df3["t_seg_size"] < x)].t_seg_size.std())
C:\Users\xxxx\AppData\Local\Continuum\Anaconda3\lib\site- packages\pandas\core\generic.py in __nonzero__(self)
696 raise ValueError("The truth value of a {0} is ambiguous. "
697 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
--> 698 .format(self.__class__.__name__))
699
700 __bool__ = __nonzero__
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Любая помощь будет принята с благодарностью.
Вы хотите «print (df3 [(df3 [" t_seg_size "]> = x-999999) & (df3 [" t_seg_size "]
EdChum
@EdChum большое спасибо за то, что помогли мне снова с моими проблемами. Если у вас есть время, было бы здорово узнать, есть ли какие-либо другие способы решения этой конкретной задачи - то есть, разделение кадра данных в соответствии с определенными диапазонами и генерация статистики. + Я также хочу построить итоговую статистику как график –