python - 返回 Pandas DataFrame 中原始数据类型的元素

标签 python pandas

我有一个 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/

相关文章:

python - 无法使用谷歌云自然语言API打印情绪

python - pandas - 列变量的绘图分布

python - 将函数链接到模型条目

python - 如何从 FastAPI 文档中隐藏 Pydantic 鉴别器字段

regex - 在Python中通过多个分隔符将一列分成两列

python - Matplotlib 多个 Y 轴,xlabels 消失了吗?

python - 使用不同的分隔符拆分列

python - 如何迭代 pandas DataFrameGroupBy 并为特定列选择每个分组变量的所有条目?

python - 根据两列组合的匹配将列从一个数据帧复制到另一数据帧

python - 计算pandas中列中第n个元素的平均值