我发现数据框“数据”中的行的第一个元素通常等于第二个元素。我想用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)
请问你能帮帮我吗?非常感谢。
我有一个这样的列表:
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)
谁能帮我?