标签: missing-data

根据与其他列的相关性填充 pandas 数据框缺失的数据

error_text我有一个 pandas DataFrame,其中包含许多行和一列名为包含多个空值的字符串。我想根据该列与另一列的相关性来填充这些缺失的数据。

mydf_example = pd.DataFrame({'a':[1,2,3,4,5,6,3],'b':[10,20,30,40,50,60,30],'c':['a','b','c','d','e','f','c'], 'error_text':[np.nan,'some_text','other_text',np.nan,'more_text','another_text',np.nan]})
mydf_example

    a   b   c   error_text
0   1   10  a   NaN
1   2   20  b   some_text
2   3   30  c   other_text
3   4   40  d   Nan
4   5   50  e   more_text
5   6   60  f   another_text
6   3   30  c   NaN
Run Code Online (Sandbox Code Playgroud)

首先,我创建了sub_df删除丢失数据的行:

mydf_example = mydf_example.dropna()
mydf_example

    a   b   c   error_text
1   2   20  b   some_text
2   3   30  c   other_text
4   5   50  e   more_text
5   6   60  f   another_text
Run Code Online (Sandbox Code Playgroud)

然后我将该 …

python missing-data dataframe pandas

5
推荐指数
1
解决办法
226
查看次数

绘制多个插补结果

我已经使用R中的MICE包成功完成了对我的问卷调查缺失数据的多重估算,并对汇总的推算变量进行了线性回归.我似乎无法弄清楚如何提取单个池化变量并在图形中绘图.有任何想法吗?

例如

>imp <- mice(questionnaire) 
>fit <- with(imp, lm(APE~TMAS+APB+APA+FOAP))  
>summary(pool(fit))  
Run Code Online (Sandbox Code Playgroud)

我想通过TMAS绘制汇集的APE.

使用nhanes的可重现示例:

> library(mice)
> nhanes
> imp <-mice(nhanes)
> fit <-with(imp, lm(bmi~chl+hyp))
> fit
> summary(pool(fit))
Run Code Online (Sandbox Code Playgroud)

我想将汇集的chl与汇集的bmi(例如)联系起来.

我能够实现的最好的是

> mat <-complete(imp, "long")
> plot(mat$chl~mat$bmi)
Run Code Online (Sandbox Code Playgroud)

我相信这给出了所有5个插补的综合情节,并不是我想要的(我认为).

plot r missing-data r-mice imputation

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

当分组因子缺失值时,基本R中的boxplot可以显示'NA'吗?

我要这个:

以NA作为类别名称的箱线图

而且我认为传递na.action=na.pass给boxplot会让NA出现在分组名称中.以下是一些示例代码:

#Build a fake dataset
set.seed(212012)
nn = 100
sample_data <- data.frame( score = c( rpois(nn, 1), rpois(nn, 2),
                                      rpois(nn, 1.5), rpois(nn, 3)),
                          category = c( rep(0, nn), rep(1, nn), 
                                        rep(2, nn), rep(NA, nn) ))   

boxplot( score ~ category, data=sample_data, na.action=na.pass )
Run Code Online (Sandbox Code Playgroud)

但这产生了这个:

在此输入图像描述

获得我想要的"简单"方法是以下代码,但它对于探索性数据分析并不好:

sample_data$category2 <- sample_data$category
sample_data$category2[ is.na(sample_data$category) ] <- 'NA'
boxplot( score ~ category2, data=sample_data )
Run Code Online (Sandbox Code Playgroud)

来自R Guru的任何暗示?我能够从这个更一般的讨论中找到关于na.pass的内容,以及来自Ripley教授的na.pass的起源.但是,数据中出现的缺失数据(NA)与因子本身的缺失数据之间似乎没有区别.我错过了一些简单的东西,还是这更像是一个功能请求?

r missing-data boxplot

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

填写缺失值

我有这样的数据集

 4  6 18 12  4  5
 2  9  0  3 NA 13
11 NA  6  7  7  9
Run Code Online (Sandbox Code Playgroud)

如何使用R填充缺失值?

statistics r missing-data

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

如何处理包含NA的条件data.frame下标?

如果条件向量包含NA,有没有办法让条件下标?假设我有一个像这样的data.frame

dframe <- data.frame(a=c(1,32,4,5,8),b=c(1,2,3,4,5),d=c(NA,5,5,10,9))
dframe[dframe$d > 9,"a"] <- NA
Run Code Online (Sandbox Code Playgroud)

如果它不是dframe $ d中的NA那么这将是直截了当的.我已经看到这里的%in%语法绕过NAs,但不知道如何管理条件.我可以看出这是一个普遍的问题,因为我不太确定我是否想在条件或其他东西中获得缺失值的NA.但我也有兴趣了解人们如何处理这种情况.

在我的特定情况下,当NA在这种情况下被视为FALSE时,这将简单地有所帮助.

r missing-data conditional-statements na

4
推荐指数
2
解决办法
1789
查看次数

用于估算缺失值的功能

我有一个如下所示的数据框:

set.seed(300)
df <- data.frame(site = sort(rep(paste0("site", 1:5), 5)), 
                 value = sample(c(1:5, NA), replace = T, 25))

df 

    site value
1  site1    NA
2  site1     5
3  site1     5
4  site1     5
5  site1     5
6  site2     1
7  site2     5
8  site2     3
9  site2     3
10 site2    NA
11 site3    NA
12 site3     2
13 site3     5
14 site3     4
15 site3     4
16 site4    NA
17 site4    NA
18 site4     4
19 site4     4
20 site4     4 …
Run Code Online (Sandbox Code Playgroud)

r missing-data

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

按每行中NA的数量对数据进行排序

我想对具有一些缺失值的数据框进行排序.

name    dist1   dist2   dist3   prop1   prop2   prop3   month2  month5  month10 month25 month50 issue
1   A1  232.0   1462.91 232.0000    728.00  0.370   0.05633453  1188.1  1188.1  1188.1  1188.1  1188.1  Yes
2   A2  142.0   58.26   2847.7690   17.10   0.080   0.07667063  14581.6 15382.0 19510.9 25504.0 NA  Yes
3   A3  102.0   1160.94 102.0000    53.40   0.090   0.07667063  144.8   144.8   144.8   291.8   761.4   Yes
4   A4  126.0   1377.23 126.0000    64.30   2.120   0.11040091  366.5   496.8   665.3   NA  NA  Yes
5   A5  118.0   654.94  118.0000    16.50   0.030   0.05841914  0.0 10.2 …
Run Code Online (Sandbox Code Playgroud)

sorting r missing-data dataframe

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

如何为重复测量数据创建缺失值?

我有一个数据集,并不是每个主题的观察都在完全相同的时间点观察到,但我想把它变成一个数据集,每个人的观察结果都在完全相同的时间点被观察到(所以我可以在SAS proc traj).

例如,假设我有数据集"m":

id   <- c(1,1,1,1,2,2,3,3,3)
age  <- c(2,3,4,5,3,6,2,5,8)
IQ   <- c(3,4,5,4,6,5,3,8,10)
m    <- data.frame(id,age,IQ)
> m
  id age IQ
1  1   2  3
2  1   3  4
3  1   4  5
4  1   5  4
5  2   3  6
6  2   6  5
7  3   2  3
8  3   5  8
9  3   8 10
> unique(age)
[1] 2 3 4 5 6 8
Run Code Online (Sandbox Code Playgroud)

我想把m变成m2.但我只能手动完成.

id2   <- c(1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3)
age2  <- c(2,3,4,5,6,8,2,3,4,5,6,8,2,3,4,5,6,8) 
IQ2   <- c(3,4,5,4,NA,NA,6,5,NA,NA,NA,NA,3,8,10,NA,NA,NA) 
m2    <- data.frame(id2,age2,IQ2)    
m2 …
Run Code Online (Sandbox Code Playgroud)

r repeat missing-data

4
推荐指数
2
解决办法
114
查看次数

Pandas-在重复年份的时间序列数据中添加缺失的年份

我有一个这样的数据集,其中缺少数年的数据.

County Year Pop
12     1999 1.1
12     2001 1.2
13     1999 1.0
13     2000 1.1
Run Code Online (Sandbox Code Playgroud)

我想要类似的东西

County Year Pop
12     1999 1.1
12     2000 NaN
12     2001 1.2
13     1999 1.0
13     2000 1.1
13     2001 nan
Run Code Online (Sandbox Code Playgroud)

我已经尝试将索引设置为年份,然后使用reindex与另一个仅几年的数据框架方法(这里提到的Pandas:添加缺失月份的数据)但它给了我错误cant reindex重复值.我也试过df.loc,但它有同样的问题.我甚至尝试了一个完整的外部连接,只有几年的空白df,但这也没有用.

我怎么解决这个问题?

python time-series missing-data pandas reindex

4
推荐指数
2
解决办法
725
查看次数

熊猫:为缺少的日期填充数据

假设我有下表:

ProdID  Date        Val1 Val2 Val3
Prod1   4/1/2019    1    3    4
Prod1   4/3/2019    2    3    54
Prod1   4/4/2019    3    4    54
Prod2   4/1/2019    1    3    3
Prod2   4/2/2019    1    3    4
Prod2   4/3/2019    2    4    4
Prod2   4/4/2019    2    5    3
Run Code Online (Sandbox Code Playgroud)

Prod2项正确地填充,因为我们已经从得到的数据4/1/2019来4/4/2019。

Prod1缺少1个日期- 4/2/2019。

我想查找所有ProdID的缺失日期,并使用从上一个条目的最后一个复制的数据填充Val1-3。例如,我想将数据复制4/1/2019到4/2/2019

ProdID  Date        Val1 Val2 Val3
Prod1   4/1/2019    1    3    4
Prod1   4/2/2019    1    3    4
Prod1   4/3/2019    2    3    54
Prod1   4/4/2019    3    4    54 …
Run Code Online (Sandbox Code Playgroud)

python missing-data pandas

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