Как извлечь ячейку из фрейма данных панды



Скажем, я создаю pandas фрейм данных (я не очень хорош в pandas, и это может быть не очень эффективно):



import pandas as pd
colnames = ['a', 'b']
data = pd.DataFrame(columns=colnames)
df_row = ['val1', 'val2']
app = pd.Series(df_row, index=cols)
data = data.append(app, ignore_index=True)


Я хочу получить доступ к val1 как к строке, а не как к объекту pandas.

Если я это сделаю:



cell = data.iloc[[0],[0]]
type(cell)


Я вижу, что cell имеет тип <class 'pandas.core.frame.DataFrame'>



Если я тогда сделаю:



type(cell[`a'])


Я вижу, что это <class 'pandas.core.series.Series'>



Как я могу получить val1 как объект str и не объект pandas?

554   3  

3 ответов:

Проблема в вашем случае заключается в том, что вы передаете списки в iloc, вам нужно передать нормальные целые числа 0,0 в iloc, чтобы получить желаемый результат -

In [85]: data.iloc[0,0]
Out[85]: 'val1'

Чтобы получить доступ к значению внутри фрейма данных в виде строки:

cell = str(data.iloc[0,0])

Для целочисленного индексирования конкретной ячейки в кадре данных (или серии), iat обычно наиболее эффективно:

>>> data.iat[0, 0]
'val1'

Comments

    Ничего не найдено.