在python中清除此int64变量
这是var频率的原始分布在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
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对我来说并不容易。我想这里可能有人知道。