У меня есть серия данных в кадре данных.Индексирование pandas dataframes внутри pandas dataframes с python
dataframe верхнего уровня структурирован следующим образом:
24hr 48hr 72hr
D1 x x x
D2 x x x
D3 x x x
В каждом случае Х представляет собой dataframe созданного с pandas.read_excel()
один из столбцов в каждых х dataframe имеет название «Средний суд Длина» и в этом столбце есть три записи (т.е. строки, индексы).
Что я хочу вернуть, это среднее значение для столбца «Средняя длина судна». Мне также интересно, как вернуть определенную ячейку в этот столбец. Я знаю, что есть метод .mean для pandas dataframes, но я не могу понять синтаксис индексации, чтобы использовать его.
Ниже приведен пример
import pandas as pd
a = {'Image name' : ['Image 1', 'Image 2', 'Image 3'], 'threshold' : [20, 25, 30], 'Average Vessels Length' : [14.2, 22.6, 15.7] }
b = pd.DataFrame(a, columns=['Image name', 'threshold', 'Average Vessels Length'])
c = pd.DataFrame(index=['D1','D2','D3'], columns=['24hr','48hr','72hr'])
c['24hr']['D1'] = a
c['48hr']['D1'] = a
c['72hr']['D1'] = a
c['24hr']['D2'] = a
c['48hr']['D2'] = a
c['72hr']['D2'] = a
c['24hr']['D3'] = a
c['48hr']['D3'] = a
c['72hr']['D3'] = a
Это возвращает среднее из значений в столбце «Средние суда Длина»:
print b['Average Vessels Length'].mean()
Это возвращает все значения в 24 часа, D1, «Средняя Суда Длина»
print c['24hr']['D1']['Average Vessels Length']
Это не работает:
print c['24hr']['D1']['Average Vessels Length'].mean()
И я не могу понять, как получить доступ к какой-либо конкретной величине в с [ «24 часа»] [ «D1»] [ «Среднего суда Длины»]
В конце концов я хочу взять среднее из()
Любая помощь была бы принята с благодарностью за любую помощь.
Можете ли вы попытаться собрать некоторые данные примера? В идеале вам нужны несколько строк кода, которые люди могут скопировать-вставить в консоль и иметь фреймворк данных, с которым они могут попробовать. – Marius
@ Мариус не просто дать функциональный пример, поскольку я извлекаю данные из внешнего .xls-файла со многими столбцами. – agf1997
Вам нужно создать минимальный пример, демонстрирующий проблему, чтобы люди имели возможность работать, а не обязательно ваши фактические данные, но, вероятно, что-то сочеталось с некоторыми для циклов и некоторые из них использовали метод numpy.random.randn() ', см. [здесь] (http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples) для некоторых советов. – Marius