相关疑难解决方法(0)

熊猫:跑NaN洞的长度

我有数百个时间序列对象,每个对象有100000个条目.缺少一定比例的数据条目(NaN).对我的应用来说,重要的是它们是单个,分散的NaN还是长序列的NaN.

因此,我想要一个函数来给我每个连续NaN序列的游程长度.我可以

myseries.isnull()
Run Code Online (Sandbox Code Playgroud)

得到一系列的布尔.我可以移动中位数或移动平均线来了解数据漏洞的大小.但是,如果有一种有效的方法来获得系列的长度列表,那将是很好的.

也就是说,拥有一个myfunc这样的东西会很好

a = pdSeries([1, 2, 3, np.nan, 4, np.nan, np.nan, np.nan, 5, np.nan, np.nan])
myfunc(a.isnull())
==> Series([1, 3, 2])
Run Code Online (Sandbox Code Playgroud)

(因为分别有1个,3个和2个NaN)

从这一点,我会打洞长度和的直方图andor的isnull的多个系列(即可能是海誓山盟的替代品),以及其他好东西.

我还想了解其他方法来量化数据漏洞的"结块".

python pandas

8
推荐指数
1
解决办法
1421
查看次数

用熊猫识别连续的NaN

我正在阅读一堆CSV文件(水位随时间变化的测量数据),对它们进行各种分析和可视化.

由于我无法控制的各种原因,这些时间序列通常会丢失数据,所以我做了两件事:

我总计算他们

Rlength=len(RainD)   #counts everything, including NaN
Rcount=RainD.count() #counts only valid numbers
NaN_Number=Rlength-Rcount
Run Code Online (Sandbox Code Playgroud)

如果我有比特定阈值更多的缺失数据,则丢弃数据集:

Percent_Data=Rlength/100
Five_Percent=Percent_Data*5
if NaN_Number > Five_Percent:
    ...
Run Code Online (Sandbox Code Playgroud)

如果NaN的数量足够小,我想填补空白

RainD.level=RainD.level.fillna(method='pad',limit=2)
Run Code Online (Sandbox Code Playgroud)

现在问题是:它的月度数据,所以如果我有超过2个连续NaN,我也想丢弃数据,因为这意味着我"猜测"整个赛季,甚至更多.

对文件fillna并没有真正提比我更连续NaN的规定时有发生的事情limit=2,但是当我看到RainD.describe()之前和之后...fillna...,它与基本CSV比较,其明确表示,它填补了前2 NaN的,然后离开休息,而不是错误.

所以,长话短说:

如何用熊猫识别一些连续的NaN,没有一些复杂和耗时的非熊猫循环?

python nan pandas

8
推荐指数
2
解决办法
3206
查看次数

如何删除列中超过2个连续的NA?

我是R的新手,在我的数据框架中我有col1("Timestamp"),col2("Values").我必须在col2中删除超过2个连续NA的行.我的数据框看起来如下,

Timestamp  | values  
-----------|--------
2011-01-02 |  2  
2011-01-03 |  3  
2011-01-04 |  NA  
2011-01-05 |  1  
2011-01-06 |  NA  
2011-01-07 |  NA    
2011-01-08 |  8  
2011-01-09 |  6  
2011-01-10 |  NA  
2011-01-11 |  NA  
2011-01-12 |  NA  
2011-01-13 |  2  
Run Code Online (Sandbox Code Playgroud)

我想基于第二列删除超过2个重复行.预期产量 -

Timestamp  | values  
-----------|--------
2011-01-02 |  2  
2011-01-03 |  3  
2011-01-04 |  NA  
2011-01-05 |  1  
2011-01-06 |  NA  
2011-01-07 |  NA    
2011-01-08 |  8  
2011-01-09 |  6 
2011-01-13 |  2  
Run Code Online (Sandbox Code Playgroud)

我提前感谢您寻求解决方案.

datetime r duplicates missing-data

4
推荐指数
1
解决办法
475
查看次数

标签 统计

pandas ×2

python ×2

datetime ×1

duplicates ×1

missing-data ×1

nan ×1

r ×1