python - 如何将整数分配给 Pandas 中的单元格?
问题描述
我想遍历数据框并使用返回的索引创建一个新列enumerate()
,但我无法将值分配为整数,我需要稍后对其进行转换。有没有办法一次性做到这一点?
如您所见,整数的直接赋值失败。
df.loc[indexes, ('route', 'id')] = int(i)
print(df.loc[indexes, ('route', 'id')].dtypes) # float64
需要使用第二行代码进行转换:
df.loc[indexes, ('route', 'id')] = df.loc[indexes, ('route', 'id')].astype(int)
print(df.loc[indexes, ('route', 'id')].dtypes) # int64
解决方案
此链接向您展示如何将列的值分配给 pandas 中的 int 类型。基本上你可以通过使用来做到这一点:
- to_numeric() - 提供安全地将非数字类型(例如字符串)转换为合适的数字类型的功能。(另见 to_datetime() 和 to_timedelta()。)
- astype() - 将(几乎)任何类型转换为(几乎)任何其他类型(即使这样做不一定明智)。还允许您转换为分类类型(非常有用)。
- infer_objects() - 如果可能的话,一种实用方法,用于将保存 Python 对象的对象列转换为 pandas 类型。
- convert_dtypes() - 将 DataFrame 列转换为支持 pd.NA 的“最佳”dtype(pandas 的对象表示缺失值)。
推荐阅读
- javascript - 如何在 img src 中指定图像本地路径以在 react/JavaScript 中加载
- c++ - CGAL构造球面多面体
- mysql - mysql中的类型转换层次结构是什么?
- java - 未能执行目标 org.openjfx:javafx-maven-plugin:0.0.4。我从 Fxml 文件开始,我无法将它们附加到控制器
- preact - 如果返回的 vdom 完全相同,则保留第一个渲染道具
- javascript - 具有多个条件的 Javascript for 循环不起作用
- python - 如何在 PyTorch 中完成多维花式索引?
- magento - 如何获取在 Magento 2 中创建的电子邮件模板订单状态 url
- python - 硒元素数据提取
- node.js - 用一行 Javascript 更新数组