Python中文
首页
教程
问答
标签
搜索
登录
注册
如果子数据帧包含超过40%的数据,如何删除它
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>大家好,我有这样的问题:</p> <p>我有400.000个对象的面板数据,如果其中包含超过40%的NAN,我想删除对象</p> <p>例如:</p> <pre><code> inn time_reg revenue1 balans1 equity1 opprofit1 \ 0 0101000021 2006 457000.0 115000.0 28000.0 29000.0 1 0101000021 2007 1943000.0 186000.0 104000.0 99000.0 2 0101000021 2008 2812000.0 318000.0 223000.0 127000.0 3 0101000021 2009 2673000.0 370000.0 242000.0 39000.0 4 0101000021 2010 3240000.0 435000.0 45000.0 NaN ... ... ... ... ... ... ... 4081810 9909403758 2003 6943000.0 2185000.0 2136000.0 -97000.0 4081811 9909403758 2004 6504000.0 2245000.0 2196000.0 -34000.0 4081812 9909403758 2005 NaN NaN NaN NaN 4081813 9909403758 2006 NaN NaN NaN NaN 4081814 9909403758 2007 NaN NaN NaN NaN grossprofit1 netprofit1 currentassets1 stliabilities1 0 92000.0 18000.0 105000.0 87000.0 1 189000.0 76000.0 176000.0 82000.0 2 472000.0 119000.0 308000.0 95000.0 3 483000.0 29000.0 360000.0 128000.0 4 NaN 35000.0 NaN NaN ... ... ... ... ... 4081810 2365000.0 -59000.0 253000.0 49000.0 4081811 2278000.0 60000.0 425000.0 49000.0 4081812 NaN NaN NaN NaN 4081813 NaN NaN NaN NaN 4081814 NaN NaN NaN NaN </code></pre> <p>我有这样的数据框,对于按(inn,time_reg)分组的每个子数据框,如果列中的总NAN(收入1平衡1权益1机会1总利润1净利润1当前资产1负债1)超过40%,我需要删除它</p> <p>我有一个循环的想法,但这需要很多时间 例如:</p> <pre><code> inn time_reg revenue1 balans1 equity1 opprofit1 \ 4081809 9909403758 2002 6078000.0 2270000.0 2195000.0 -32000.0 4081810 9909403758 2003 6943000.0 2185000.0 2136000.0 -97000.0 4081811 9909403758 2004 6504000.0 2245000.0 2196000.0 -34000.0 4081812 9909403758 2005 NaN NaN NaN NaN 4081813 9909403758 2006 NaN NaN NaN NaN 4081814 9909403758 2007 NaN NaN NaN NaN grossprofit1 netprofit1 currentassets1 stliabilities1 4081809 1324000.0 NaN 234000.0 75000.0 4081810 2365000.0 -59000.0 253000.0 49000.0 4081811 2278000.0 60000.0 425000.0 49000.0 4081812 NaN NaN NaN NaN 4081813 NaN NaN NaN NaN 4081814 NaN NaN NaN NaN </code></pre> <p>这个子数据帧应该删除,因为它包含超过40%的NAN</p> <pre><code> inn time_reg revenue1 balans1 equity1 opprofit1 \ 0 0101000021 2006 457000.0 115000.0 28000.0 29000.0 1 0101000021 2007 1943000.0 186000.0 104000.0 99000.0 2 0101000021 2008 2812000.0 318000.0 223000.0 127000.0 3 0101000021 2009 2673000.0 370000.0 242000.0 39000.0 4 0101000021 2010 3240000.0 435000.0 45000.0 NaN 5 0101000021 2011 3480000.0 610000.0 71000.0 NaN 6 0101000021 2012 4820000.0 710000.0 139000.0 149000.0 7 0101000021 2013 5200000.0 790000.0 148000.0 170000.0 8 0101000021 2014 5450000.0 830000.0 155000.0 180000.0 9 0101000021 2015 5620000.0 860000.0 164000.0 189000.0 10 0101000021 2016 5860000.0 885000.0 175000.0 200000.0 11 0101000021 2017 15112000.0 1275000.0 298000.0 323000.0 grossprofit1 netprofit1 currentassets1 stliabilities1 0 92000.0 18000.0 105000.0 87000.0 1 189000.0 76000.0 176000.0 82000.0 2 472000.0 119000.0 308000.0 95000.0 3 483000.0 29000.0 360000.0 128000.0 4 NaN 35000.0 NaN NaN 5 NaN 61000.0 NaN NaN 6 869000.0 129000.0 700000.0 571000.0 7 1040000.0 138000.0 780000.0 642000.0 8 1090000.0 145000.0 820000.0 675000.0 9 1124000.0 154000.0 850000.0 696000.0 10 1172000.0 165000.0 875000.0 710000.0 11 3023000.0 288000.0 1265000.0 977000.0 </code></pre> <p>此子数据帧包含的NAN少于40%,并且必须位于最终数据帧中</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果使用numpy/pandas函数进行计数,循环是否也会太慢?您可以使用<code>someDataFrame.isnull().sum().sum()</code></p> <p>可能比编写自己的循环来遍历数据帧中的所有值要快得多,因为这些库往往具有这些类型函数的非常高效的实现</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么在使用strptime时会出现未进行转换的数据错误?
9 回答
为什么在使用strptim时会出现这个datetime日期错误
7 回答
为什么在使用StyleFrame时索引列的标题不显示sf.至excel()?
7 回答
为什么在使用sum()函数时会发生“int”对象不可调用的错误?
3 回答
为什么在使用sympy.dsolve时会得到“'list'对象没有属性'func'”?
1 回答
为什么在使用tabla时会得到一个空的数据帧?
10 回答
为什么在使用tensorboard时需要add_graph()的第二个参数?
8 回答
为什么在使用TensorFlow Lite转换YOLOv4时,推断时间/大小没有改进?有什么可能的改进吗?
1 回答
为什么在使用Tensorflow加载训练批时会出现内存泄漏?
8 回答
为什么在使用tensorflow时会收到警告/错误(使用函数API,但未实现错误)
5 回答
为什么在使用tetpyclient发出POST请求时出现403错误?
4 回答
为什么在使用TextBlob时会出现HTTP错误?
8 回答
为什么在使用TFIDF时出现错误“IndexError:list index out of range”pyspark.ml.feature?
8 回答
为什么在使用timedelta格式化之后,我在python中的日期是错误的?
10 回答
为什么在使用timeit或exec函数时,函数中的变量不会在提供的全局命名空间中搜索?
5 回答
为什么在使用tkinter时不能使用复选框?
8 回答
为什么在使用todoistpythonapi时会返回这个奇怪的ID?
3 回答
为什么在使用TQM时,在调整图像大小时,处理时间会有很大的差异?
10 回答
为什么在使用Tweepy下载用户时间线时收到错误消息
3 回答
为什么在使用twitter帐户登录Django应用程序时重定向127.0.0.1:8000?
4 回答