python - Python使用melt如何构建这些数据
问题描述
拥有如下数据 - 我需要将地址和 Trans 分组为 2 列 - 可以帮助在 python 中使用 melt 或任何其他函数吗?
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
需要这些数据作为
************************** 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
谢谢
以这种方式尝试以不同的方式获得结果
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)
解决方案
您只需要为此使用 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])
推荐阅读
- python - python中的错误:'list'对象没有属性'shape'
- python - AttributeError:“Paddle”对象没有“screen”属性。你的意思是:'_screen'?
- excel - 使用查找表对值求和,其中查找值是带有逗号分隔符的值列表
- r - 有没有办法改变 R 中的显着性水平(alpha)?
- css - CSS 网格结构
- node.js - 如何处理 node.js 中的 npm 过时错误
- python - 以十六进制格式处理时数字大小丢失
- postgresql - Postgresql 以幂等方式更改列
- c# - ServerManager.CommitChanges() 导致 applicationHost.config 异常
- r - 特定列的 R 中的百分位数排名,将 PR 值添加到计算的每一列的新列中的 DF 末尾