python-按键列值顺序追加值

python-按键列值顺序追加值,python,pandas,string,text,append,Python,Pandas,String,Text,Append,我有两个数据帧: df1 专栏1 专栏2 钥匙1 1100 键2 1100 重点3 1100 如果我正确理解了您的问题,您可以直接使用以获得所需的输出,因为它只是两个数据帧连接在一起,同样: final_df = pd.concat([df1,df2],ignore_index=True, sort = False) 但是,由于您还询问了如何将df2的键映射到df1并附加相应的列,因此您可以使用,也可以使用上面提到的concat mapped_df = pd.merge(df1, df2, o

我有两个数据帧:

df1

专栏1 专栏2 钥匙1 1100 键2 1100 重点3 1100
如果我正确理解了您的问题,您可以直接使用以获得所需的输出,因为它只是两个数据帧连接在一起,同样:

final_df = pd.concat([df1,df2],ignore_index=True, sort = False)
但是,由于您还询问了如何将df2的键映射到df1并附加相应的列,因此您可以使用,也可以使用上面提到的concat

mapped_df = pd.merge(df1, df2, on = 'Column1', how = 'left')
然后可以将其导出为csv,如下所示:

final_df.to_csv("output.csv", header=False, index=False, sep="|")
输出:

key_1|1100||
key_1|1110|xxr|wer
key_1|1110|xxt|dse
key_2|1100||
key_2|1110|xxv|cad
key_2|1110|xxe|sdf
key_3|1100||
key_3|1110|xxw|sder
key_3|1110|xxz|csd
key_1|1100
key_1|1110|xxr|wer
key_1|1110|xxt|dse
key_2|1100
key_2|1110|xxv|cad
key_2|1110|xxe|sdf
key_3|1100
key_3|1110|xxw|sder
key_3|1110|xxz|csd

应用行方式并将notnull值与
|
连接如何

将熊猫作为pd导入
df1=pd.DataFrame({'Column1':{0:'key_1',1:'key_2',
2:'键3'},
'Column2':{0:1100,1:1100,2:1100})
df2=pd.DataFrame({'Column1':{0:'key_1',1:'key_2',
2:'键3',3:'键1',4:'键2',5:'键3'},
'Column2':{0:1110,1:1110,2:1110,3:1110,4:1110,5:1110},
'Column3':{0:'xxr',1:'xxv',2:'xxw',
3:'xxt',4:'xxe',5:'xxz'},
'第4列':{0:'wer',1:'cad',2:'sder',
3:'dse',4:'sdf',5:'csd'})
行=df1\
.append(df2)\
.sort_值('Column1')\
.apply(lambda s:f'{“|”).join(map(str,s[s.notnull()))},axis=1)
#展示
打印('\n'.连接(行))
输出:

key_1|1100||
key_1|1110|xxr|wer
key_1|1110|xxt|dse
key_2|1100||
key_2|1110|xxv|cad
key_2|1110|xxe|sdf
key_3|1100||
key_3|1110|xxw|sder
key_3|1110|xxz|csd
key_1|1100
key_1|1110|xxr|wer
key_1|1110|xxt|dse
key_2|1100
key_2|1110|xxv|cad
key_2|1110|xxe|sdf
key_3|1100
key_3|1110|xxw|sder
key_3|1110|xxz|csd

df1.append(df2).sort_values('Column1')。to_csv(…)
?问题是它返回大量空值,而在每个数据帧中找不到这些列。我需要准确的格式描述欢迎来到stack overflow!这似乎是一个问题中的两个问题-您希望以特定格式附加数据帧,然后您希望编写一个管道分隔的文件(请参阅“sep”参数)。我建议将您的问题分解为最佳结果。