说我制作了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
对象?
答案 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_