Как извлечь ячейку из фрейма данных панды
Скажем, я создаю 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?
3 ответов:
Проблема в вашем случае заключается в том, что вы передаете списки в
iloc, вам нужно передать нормальные целые числа0,0вiloc, чтобы получить желаемый результат -In [85]: data.iloc[0,0] Out[85]: 'val1'
Для целочисленного индексирования конкретной ячейки в кадре данных (или серии),
iatобычно наиболее эффективно:>>> data.iat[0, 0] 'val1'
Comments