如何从pandas数据帧中提取单元格

时间:2015-08-25 15:54:41

标签: python pandas

说我制作了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 个答案:

答案 0 :(得分:3)

您的案例的问题是您要将列表传递给iloc,您需要将正常整数0,0传递给iloc以获得您想要的结果 -

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

答案 1 :(得分:2)

为了以字符串形式访问DataFrame中的值:

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

答案 2 :(得分:2)

对于基于整数的索引DataFrame(或系列)中的特定单元格,iat通常效率最高:

IC_