Python 基于使用for循环的条件连接两行

Python 基于使用for循环的条件连接两行,python,pandas,for-loop,while-loop,pandas-groupby,Python,Pandas,For Loop,While Loop,Pandas Groupby,我试图根据一个条件将字符串连接成两行。我使用for循环来合并这些值 图像中给出了输入数据集和输出列 我使用for循环来连接行中的值 for i in range(len(Data)): j=i+1 while j < len(Data): if(Data['key (Sum(col1to6))'][i]!=Data['key (Sum(col1to6))'][j]): break; if (Data['key (Sum(col1

我试图根据一个条件将字符串连接成两行。我使用for循环来合并这些值

图像中给出了输入数据集和输出列

我使用for循环来连接行中的值

for i in range(len(Data)):
    j=i+1
    while j < len(Data):
       if(Data['key (Sum(col1to6))'][i]!=Data['key (Sum(col1to6))'][j]):
           break;
    if (Data['key (Sum(col1to6))'][i]==Data['key (Sum(col1to6))'][j]) and     Data['value'][i]<10:
         Data['ouput_code'][i]=Data['Col6'][i]+Data['Col6'][j]
else: 
   Data['ouput_code']=Data['Col6']
   j=j+1
   print ('last',i)
范围内i的
(len(数据)):
j=i+1
而j如果(Data['key(Sum(col1to6))'][i]==Data['key(Sum(col1to6))]][j]和Data['value'][i]虽然我想让您知道我还没有完全理解您的问题,但查看代码时,我发现了以下可能导致问题的错误

for i in range(len(Data)):
  j=i+1
  while j < len(Data):
    if(Data['key (Sum(col1to6))'][i]!=Data['key (Sum(col1to6))'][j]):
      break;
    if (Data['key (Sum(col1to6))'][i]==Data['key (Sum(col1to6))'][j]) and Data['value'][i]<10:
      Data['ouput_code'][i]=Data['Col6'][i]+Data['Col6'][j]
    else: 
      #Data['ouput_code']=Data['Col6'] # <== Here you are over writing the whole ouput_code column 
      Data['ouput_code'][i]=Data['Col6'][i] # <== I believe what you want to do is update just one entry 
    j=j+1
print ('last',i)
范围内i的
(len(数据)):
j=i+1
而j如果(Data['key(Sum(col1to6))'][i]==Data['key(Sum(col1to6))][j])和Data['value'][i],请编辑代码缩进。此外,您可以提供文本格式的数据。没有人想从图片中键入数据。谢谢对正确的。我在代码中添加了两行。非常感谢。数据['ouput_code'][i]=Data['Col6'][i]数据['ouput_code'][j]=Data['Col6'][j]。。。。。。。。。。如果(Data['key(Sum(col1to6))'][i]==Data['key(Sum(col1to6))][j])和(Data['value'][i]可以使用np编写此代码,这将减少处理时间。