在python中清除此int64变量

在python中清除此int64变量,python,pandas,replace,recode,int64,Python,Pandas,Replace,Recode,Int64,这是var频率的原始分布 NaN 22131161 1.0 4182626 7.0 218343 3.0 145863 1 59432 0.0 29906 2.0 28129 4.0 15237 5.0 4553 8.0 3617 3 2754 7 2635 9.0 633 2 584 4 2

这是var频率的原始分布

NaN    22131161
1.0     4182626
7.0      218343
3.0      145863
1         59432
0.0       29906
2.0       28129
4.0       15237
5.0        4553
8.0        3617
3          2754
7          2635
9.0         633
2           584
4           276
0           112
8            51
5            42
6.0          19
A             9
I             7
9             6
Q             3
Y             2
X             2
Z             1
C             1
N             1
G             1
B             1
Name: FREQUENCY, dtype: int64
第1.0组应与第1组相同。我写了df['x']=df['x]。替换{'1.0:'1'}。它不会改变任何事情。9.0对9,3.0对3有相同的症状 如果存在字母,频率如何呈现为int64? 预期结果1:将所有字母组+NaN分为一组。例如,其余的数值组合并为1.0和1=1。在SAS中,我只运行这个:y=1*X。我只给出一个值10来表示字符组+NaN。如何在Python中实现,尤其是优雅地实现? 结果2:如果x=NaN,则提取一个二进制变量z=1。否则z=0 第一期 第1.0组应与第1组相同。我写了df['x']=df['x]。替换{'1.0:'1'}。它不会改变任何事情。9.0对9,3.0对3有相同的症状 在读取csv文件时添加dtype={'frequeuancy':'object}时已修复。组1.0与组1一起崩溃。。。之后,更换工作刚刚好


除问题2外,所有其他问题基本上都得到了解决,因为它仍然将变量类型设置为int64,其中存在字符变量。我的猜测是,Python可能采用多数规则对数据类型进行投票。的确,数字值在计数中占主导地位

这看起来像是家庭作业?到目前为止你做了什么来解决它?这不是一个家庭作业。在大型企业中,这是一项严肃的高级分析工作。这是一个将代码从SAS迁移到Python的过程。以前从未见过1.0可以与1分离。好啊因为我在玩Python,所以我想看看是否有快速的方法用Python编写它。这在大型机JCL上也不会发生。我只是在这里寻找知识。我首先使用python中的sas7bdat读取SAS数据格式的原始数据。事情进展得很慢,工作继续进行下去。因此,我运行SAS将数据集导出到CSV并切换到pd.read_CSV。它走得非常非常快。常规Python 3.7.2~10分钟。打开pyspark大约持续了2分钟。真的很棒。我当然要审计。所有其他变量,~98,结果与预期一致。除了这个。不知道发生了什么事。你知道我想要什么吗。但是像这样编写一个int64对我来说并不容易。我想这里可能有人知道。