2 回答

TA貢獻2011條經驗 獲得超2個贊
取的列數組A和B然后使用flatten或ravel并采取值形成第一指數:
df1 = pd.DataFrame(df[['A','B']].values.flatten()[1:],columns=['C']).\
reset_index().rename(columns={'index':'rows'}
要么:
df1 = pd.DataFrame(df[['A','B']].values.ravel()[1:],columns=['C']).\
reset_index().rename(columns={'index':'rows'})
print(df1)
rows C
0 0 7
1 1 9
2 2 11
3 3 20
4 4 30
5 5 32
6 6 35

TA貢獻1827條經驗 獲得超9個贊
a = df[['A','B']].values.ravel()[1:]
df1 = pd.DataFrame({'rows':np.arange(len(a)), 'C':a})
print (df1)
rows C
0 0 7
1 1 9
2 2 11
3 3 20
4 4 30
5 5 32
6 6 35
或使用melt:
df1 = (df.melt(['rows'], value_name='C')
.sort_values('rows')['C']
.iloc[1:]
.reset_index(drop=True)
.rename_axis('rows')
.reset_index())
print (df1)
rows C
0 0 7
1 1 9
2 2 11
3 3 20
4 4 30
5 5 32
6 6 35
添加回答
舉報