python-3.x - 合并后如何保持相同的int dtype列?
问题描述
我有两个数据框 df1 和 df2
df1 看起来像:
a b
ravi 2
ramesh 3
ganesh 4
kamlesh 8
df2 看起来像:
a c d
harish 50 70
ravi 80 60
suresh 40 20
kamlesh 90 100
当我使用外连接(在 a 列上)合并两个 df 的 df2 和 df1 以包含所有列时,生成的数据帧的 dtypes 为 int64 列 c、d、b 从 int64 变为 float。
合并后有什么方法可以保留与 int 相同的 dtypes 吗?
我是这个领域的新手。希望能得到一些帮助。
解决方案
加入/合并后使用这个:
df2.loc[:, ['c','d']] = df2.loc[:, ['c','d']].astype('Int64')
推荐阅读
- amazon-web-services - 使用 CloudFormation 在 ECS 服务上定义多个任务
- sql - 在我的 SQL 查询中出现丢失的表达式错误并且无法完全找出我丢失的内容?
- python - 将多个文本文件中的数据加载到单个二维数组中
- excel - 从excel VBA代码中的电子邮件正文中提取表格
- docker-compose - 本地运行时如何在 Superset 中启用 HTTPS
- sql - BigQuery - SELECT 列表表达式引用既不分组也不聚合的列 user_pseudo_id
- vb.net - 在 VB 上进行多页报告的最佳方式?
- r - 使用 ggarrange 定位 ggplot 标签的问题
- api - 如何创建币安测试 API 密钥
- c# - 在 Xamarin.Mac 中为框架创建绑定项目