小编ros*_*ina的帖子

用NA替换数据帧行中的第一个重复数据

我发现数据框“数据”中的行的第一个元素通常等于第二个元素。我想用NA替换此第一元素,并保留第二元素。

我的数据框“ Data”具有3列c1,c2和c3,如下所示

c1 c2 c3
1  1  4
5  2  9
3  1  8
7  7  2
9  9  1
Run Code Online (Sandbox Code Playgroud)

我试图运行此代码

for (i in 1:length(Data)) {
Data[i,1]<- if (Data[i,1]==Data[i,2]) NA else Data[i,1]
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用。我想使用Data [i; 1]代替Data $ c1 [i],因为我使用merge()循环来重新创建数据框,并且每次重新创建数据框时列的名称都会更改。
我想用NA替换在c1列的同一行中重复的c1列中的任何值

c1 c2 c3
NA 1  4
5  2  9
3  1  8
NA 7  2
NA 9  1
Run Code Online (Sandbox Code Playgroud)

请问你能帮帮我吗?非常感谢。

r

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

如何在列表中取消列出字典中的列表?

我有一个这样的列表:

list = [{'item1': value1,
         'item2': [{'tinyitem21': tinyvalue21, 'tinyitem22': tinyvalue22}]},
        {'item3': [{'tinyitem31': tinyvalue31, 'tinyitem32': tinyvalue32}],
         'item4': value4}]
Run Code Online (Sandbox Code Playgroud)

我想要一个这样的列表:

list = [{'item1': value1,
         'item2': {'tinyitem21': tinyvalue21, 'tinyitem22': tinyvalue22}},
        {'item3': {'tinyitem31': tinyvalue31, 'tinyitem32': tinyvalue32},
         'item4': value4}]
Run Code Online (Sandbox Code Playgroud)

我编写了下面的代码来尝试解决这个问题,但它不起作用:

for item in list:
    for smallitem, smallvalue in item:
        if type(smallvalue)=='list':
            new_dict= {}
            for tinyitem in smallvalue:
                name = tinyitem.pop('name')
                new_dict[name] = tinyitem
            smallvalue=new_dict
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

python dictionary for-loop list python-3.x

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

标签 统计

dictionary ×1

for-loop ×1

list ×1

python ×1

python-3.x ×1

r ×1