Python使用melt如何构建这个d

2024-06-25 13:43:58 发布

您现在位置:Python中文网/ 问答频道 /正文

有如下的数据-我需要将尊重地址和Trans分组为2列-可以帮助使用melt或python中的任何其他函数吗

Id    name    address1   tran1    address2    tran2     address32     tran3
1     Vasu    chennai    3432     tamb        4432      cam           0121
2     het     tamil      32432    cheai       43543     vsda          3432
3     sfds    andh       12321    hyd         6754      nizh          7657     

Need this data as

**************************
Id******name*****address*****Tran
1*****Vasu******chennai*****3432
2****het********tamil*******32432    
3***sfds******* andh*******12321    
1***Vasu*******tamb********4432      
2*****het******cheai*******43543     
3*****sfds****hyd**********6754      
1****Vasu*****cam*********0121
2****het*****vsda********3432    
3****sfds****nizh*******7657     

谢谢

Tried in this way getting the result in different manner

data = pd.read_csv('C:DOCUMENTS/SAMP.csv') 
melt_data1 = pd.melt(data, 
                     id_vars=['id', 'name'], 
                     value_vars=['address1','tran1','address2','tran2','address32','tran3'],
                     var_name='Address', 'tRAN', 
                     value_name='Values') 
melt_data1.to_csv('c:/DOCUMENTS/SAM.CSV)

Tags: csvnameiddatahetmeltaddress1address2
1条回答
网友
1楼 · 发布于 2024-06-25 13:43:58

您只需要使用pd.concat:

data1 = data.loc[:,['name','address1','tran1']].rename(columns={"address1": 
"address", "tran1": "tran"})
data2 = data.loc[:,['name','address2','tran2']].rename(columns={"address2": 
"address", "tran2": "tran"})
data3 = data.loc[:,['name','address3','tran3']].rename(columns={"address3": 
"address", "tran3": "tran"})

pd.concat([ data1 , data2 , data3])

相关问题 更多 >