标签: missing-data

删除data.frame中包含全部或部分NA(缺失值)的行

我想删除此数据框中的行:

a)包含NA所有列的s.下面是我的示例数据框.

             gene hsap mmul mmus rnor cfam
1 ENSG00000208234    0   NA   NA   NA   NA
2 ENSG00000199674    0   2    2    2    2
3 ENSG00000221622    0   NA   NA   NA   NA
4 ENSG00000207604    0   NA   NA   1    2
5 ENSG00000207431    0   NA   NA   NA   NA
6 ENSG00000221312    0   1    2    3    2
Run Code Online (Sandbox Code Playgroud)

基本上,我想获得如下的数据框.

             gene hsap mmul mmus rnor cfam
2 ENSG00000199674    0   2    2    2    2
6 ENSG00000221312    0   1    2    3    2
Run Code Online (Sandbox Code Playgroud)

b)只在某些列中包含NAs …

r filter missing-data dataframe r-faq

792
推荐指数
15
解决办法
139万
查看次数

如何在R数据帧中用零替换NA值?

我有一个数据框,有些列有NA值.

如何NA用零替换这些值?

r missing-data dataframe na imputation

673
推荐指数
18
解决办法
112万
查看次数

从矢量中删除NA值

我有一个巨大的向量,它有几个NA值,我试图找到该向量中的最大值(向量是所有数字),但由于NA值,我不能这样做.

如何删除NA值以便我可以计算最大值?

r max min missing-data na

177
推荐指数
7
解决办法
49万
查看次数

报告data.frame中缺失值的优雅方法

这是我编写的一小段代码,用于报告数据框中缺少值的变量.我正在尝试一种更优雅的方式来做这个,也许会返回一个data.frame,但是我被困住了:

for (Var in names(airquality)) {
    missing <- sum(is.na(airquality[,Var]))
    if (missing > 0) {
        print(c(Var,missing))
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:我正在处理包含数十到数百个变量的data.frames,因此我们只报告缺少值的变量是关键.

r missing-data dataframe

72
推荐指数
5
解决办法
11万
查看次数

str.format()引发KeyError

以下代码引发了一个KeyError异常:

addr_list_formatted = []
addr_list_idx = 0

for addr in addr_list: # addr_list is a list
    addr_list_idx = addr_list_idx + 1
    addr_list_formatted.append("""
        "{0}"
        {
        "gamedir"  "str"
        "address"  "{1}"
        }
    """.format(addr_list_idx, addr))
Run Code Online (Sandbox Code Playgroud)

为什么?

我正在使用Python 3.1.

python syntax string-formatting delimiter missing-data

63
推荐指数
1
解决办法
3万
查看次数

如果python数据帧字符串列缺少值,如何小写?

以下代码不起作用.

import pandas as pd
import numpy as np
df=pd.DataFrame(['ONE','Two', np.nan],columns=['x']) 
xLower = df["x"].map(lambda x: x.lower())
Run Code Online (Sandbox Code Playgroud)

如何调整它以获得xLower = ['one','two',np.nan]?效率很重要,因为真正的数据框架是巨大的.

python string missing-data pandas

60
推荐指数
6
解决办法
11万
查看次数

删除一个特定列中包含空值的行

我正在处理一个大型数据集,其中一些行包含NA,另一些包含空白:

df <- data.frame(ID = c(1:7),                                   
         home_pc = c("","CB4 2DT", "NE5 7TH", "BY5 8IB", "DH4 6PB","MP9 7GH","KN4 5GH"),               
         start_pc = c(NA,"Home", "FC5 7YH","Home", "CB3 5TH", "BV6 5PB",NA),               
         end_pc = c(NA,"CB5 4FG","Home","","Home","",NA))
Run Code Online (Sandbox Code Playgroud)

如何一次性删除NA和空白(在start_pc和end_pc列中)?我过去曾用过:

df<- df[-which(is.na(df$start_pc)), ]
Run Code Online (Sandbox Code Playgroud)

...删除NA - 是否有类似的命令来删除空白?

r missing-data dataframe

54
推荐指数
5
解决办法
13万
查看次数

python格式字符串未使用的命名参数

比方说我有:

action = '{bond}, {james} {bond}'.format(bond='bond', james='james')
Run Code Online (Sandbox Code Playgroud)

这个输出:

'bond, james bond' 
Run Code Online (Sandbox Code Playgroud)

接下来我们有:

 action = '{bond}, {james} {bond}'.format(bond='bond')
Run Code Online (Sandbox Code Playgroud)

这将输出:

KeyError: 'james'
Run Code Online (Sandbox Code Playgroud)

是否有一些解决方法可以防止此错误发生,例如:

  • 如果keyrror:忽略,别管它(但要解析别人)
  • 比较格式字符串和可用的命名参数,如果缺少则添加

python string string-formatting missing-data defaultdict

48
推荐指数
5
解决办法
2万
查看次数

<NA>和NA有什么区别?

我有一个名为SMOKE的因子,其级别为"Y"和"N".丢失的值被替换为NA(从初始级别"NULL").但是,当我查看因素时,我会得到这样的结果:

head(SMOKE)
N N <NA> Y Y N
Levels: Y N
Run Code Online (Sandbox Code Playgroud)

为什么R显示NA<NA>?并且有区别吗?

r missing-data

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

插入缺少日期/时间的行

我是R的新手但是已经转向它来解决我正在尝试处理的大型数据集的问题.目前我有4列数据(Y值)设置为分钟间隔时间戳(月/日/年小时:分钟)(X值),如下所示:

    timestamp          tr            tt         sr         st  
1   9/1/01 0:00   1.018269e+02   -312.8622   -1959.393   4959.828  
2   9/1/01 0:01   1.023567e+02   -313.0002   -1957.755   4958.935  
3   9/1/01 0:02   1.018857e+02   -313.9406   -1956.799   4959.938  
4   9/1/01 0:03   1.025463e+02   -310.9261   -1957.347   4961.095  
5   9/1/01 0:04   1.010228e+02   -311.5469   -1957.786   4959.078
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是缺少一些时间戳值 - 例如,在9/1/01 0:13和9/1/01 0:27之间可能存在间隙,并且这些间隙在数据集中是不规则的.我需要将这些系列中的几个放入同一个数据库中,因为每个系列的缺失值不同,所以日期当前并不对齐每一行.

我想为这些丢失的时间戳生成行,并用空值(没有数据,不是零)填充Y列,这样我就有了一个连续的时间序列.

老实说,我不太确定从哪里开始(在我学习之前没有真正使用过R!)但是任何帮助都会非常感激.到目前为止,我已经安装了chron和zoo,因为看起来它们可能很有用.

谢谢!

r time-series missing-data

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