首页 > 解决方案 > Panda Dataframe Copy to another dataframe 实际上是复制数据类型?

问题描述

我尝试使用默认的“深度”复制方法将数据框复制到另一个数据框。但是,当我尝试在第二个数据帧中进行一些计算时,它会显示数据类型为“int64”的结果。有没有办法以真实格式(float64)显示这个?

dilution_category_info

输出

IS_HIGH_VALUE   0   1
DIALUTION_CATEGORY      
0   93117   107300
1   374679  628604
2   64642   192098
3   404921  823262
4   145663  322063   


dilution_category_info_2 = dilution_category_info.copy()
dilution_category_info_2[0][0] = (dilution_category_info[0][0]/(dilution_category_info[0][0]\
                                          + dilution_category_info[1][0]))

输出

IS_HIGH_VALUE   0   1
DIALUTION_CATEGORY      
0   0   0
1   0   0
2   0   0
3   0   0
4   0   0

标签: python-3.xpandas

解决方案


首先,将新的深度复制数据帧的数据类型明确地转换为(假设您有 numpy 作为 np 可用,如果不导入它,import numpy as np因为我的下面的代码可以工作):

dilution_category_info_2 = dilution_category_info.copy()    
dilution_category_info_2[0][0] = dilution_category_info_2.astype(np.float64)

然后将值分配为:

dilution_category_info_2[0][0] = (dilution_category_info[0][0]/(dilution_category_info[0][0]+ dilution_category_info[1][0]))

推荐阅读