我有一个 DataFrame,其中一列为 int
,一列为 float
:
In [79]: data = pd.DataFrame(dict(a = np.arange(100), b = np.arange(100.1,200.0)))
In [80]: data.head()
Out[80]:
a b
0 0 100.1
1 1 101.1
2 2 102.1
3 3 103.1
4 4 104.1
我想以整数形式返回第三行 a 列。我需要 native python 整数,因为它需要是可散列的。我已尝试以下方法,但不起作用:
由于 .iloc 返回一个系列而被强制转换为 float :
In [82]: data.iloc[3]['a']
Out[82]: 3.0 #
返回一个系列:
In [85]: d.iloc[[3]]['a']
Out[85]:
3 3
Name: a, dtype: int64
这就是我想要的,但它真的很难看:
In [88]: int(d.iloc[[3]]['a'].values)
Out[88]: 3
有更聪明的方法吗?
最佳答案
您可以使用 astype
转换类型:
In [32]:
data.loc[3,'a'].astype(int)
Out[32]:
3
关于python - 返回 Pandas DataFrame 中原始数据类型的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24030352/