df1:
Cell id lac Lac
0 ab1 2 2
1 ab2 3 3
2 ab3 4 4
df2:
Cell id psc psc
0 ab1 4 4
1 ab3 6 6
2 ab5 7 7
結果 -
Cell id attribute require dump
ab1 LAC 2 2
ab2 LAC 3 3
ab3 LAC 4 4
ab1 PSC 4 4
ab3 PSC 6 6
ab5 PSC 7 7
不知道怎么搭配
uj5u.com熱心網友回復:
采用:
df1.columns = ['Cell id', 'require', 'dump']
df2.columns = ['Cell id', 'require', 'dump']
df1.insert(1, 'attribute', 'LAC')
df2.insert(1, 'attribute', 'PSC')
out = pd.concat([df1, df2])
print(out)
# Output
Cell id attribute require dump
0 ab1 LAC 2 2
1 ab2 LAC 3 3
2 ab3 LAC 4 4
0 ab1 PSC 4 4
1 ab3 PSC 6 6
2 ab5 PSC 7 7
uj5u.com熱心網友回復:
這是一個通用方法(使用任意數量的資料框作為輸入):
dfs = [df1, df2]
cols = ['require', 'dump']
(pd.concat({d.columns[1]: d.set_index('Cell id').set_axis(cols, axis=1)
for d in dfs}, names=['attribute', 'Cell id'])
.swaplevel() # optional, just to have columns in order
.reset_index()
)
輸出:
Cell id attribute require dump
0 ab1 lac 2 2
1 ab2 lac 3 3
2 ab3 lac 4 4
3 ab1 psc 4 4
4 ab3 psc 6 6
5 ab5 psc 7 7
uj5u.com熱心網友回復:
一種使用pandas.concatwith 的方法reset_index:
df1.columns = ['Cell id', 'require', 'dump']
df2.columns = ['Cell id', 'require', 'dump']
new_df = pd.concat({"LAC":df1, "PSC": df2}, names=["attribute"]).reset_index(level=0)
輸出:
attribute Cell id require dump
0 LAC ab1 2 2
1 LAC ab2 3 3
2 LAC ab3 4 4
0 PSC ab1 4 4
1 PSC ab3 6 6
2 PSC ab5 7 7
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/448644.html
標籤:熊猫 麻木的 python-2.7
